Commit 557de1f6 by Lizh

refactor: VO/DTO 按业务域分包 + 规范对齐

- 移动 8 个已有 VO 到 vo/system/ 和 vo/warehouse/ 子包
- 新建 5 个 VO:SysRoleVO/SysMenuVO/SysPostVO/SysComposeServerVO/SysComposeServerLogVO
- 新建 20 个 DTO:LoginDTO + 各模块 SaveDTO/UpdateDTO/StatusDTO
- 10 个 Controller 全部改用 VO/DTO(不再暴露 Entity 到前端)
- 8 个 AppService 增加 DTOEntity、EntityVO 转换(BeanMapper)
- HttpMethod 修正:ComposeServer deleteById GET→DELETE, updateStatusById GET→PUT
- 所有新建文件含完整中文字段注释和 @Schema/@JsonProperty 注解

Co-Authored-By: Claude <noreply@anthropic.com>
parent 9f3e14a2
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 登录请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "登录请求")
public class LoginDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@NotBlank(message = "用户名不能为空")
@Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED)
private String username;
@NotBlank(message = "密码不能为空")
@Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED)
private String password;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 新增服务器请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "新增服务器请求")
public class SysComposeServerSaveDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "服务器名称")
private String title;
@Schema(description = "服务器地址")
private String host;
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改服务器请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改服务器请求")
public class SysComposeServerUpdateDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "服务器ID")
private Long id;
@Schema(description = "服务器名称")
private String title;
@Schema(description = "服务器地址")
private String host;
@Schema(description = "备注")
private String remark;
@Schema(description = "状态(0停用 1正常)")
private Integer status;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 新增部门请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "新增部门请求")
public class SysDeptSaveDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "父部门ID")
private Long parentId;
@Schema(description = "部门名称")
private String deptName;
@Schema(description = "排序号")
private Integer orderNum;
@Schema(description = "负责人")
private String leader;
@Schema(description = "联系电话")
private String phone;
@Schema(description = "邮箱")
private String email;
@Schema(description = "部门状态(0正常 1停用)")
private String status;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改部门请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改部门请求")
public class SysDeptUpdateDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "部门ID")
private Long deptId;
@Schema(description = "父部门ID")
private Long parentId;
@Schema(description = "部门名称")
private String deptName;
@Schema(description = "排序号")
private Integer orderNum;
@Schema(description = "负责人")
private String leader;
@Schema(description = "联系电话")
private String phone;
@Schema(description = "邮箱")
private String email;
@Schema(description = "部门状态(0正常 1停用)")
private String status;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 新增菜单请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "新增菜单请求")
public class SysMenuSaveDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "菜单名称")
private String menuName;
@Schema(description = "父菜单ID")
private Long parentId;
@Schema(description = "排序号")
private Integer orderNum;
@Schema(description = "路由地址")
private String path;
@Schema(description = "组件路径")
private String component;
@Schema(description = "路由参数")
private String query;
@Schema(description = "路由名称")
private String routeName;
@Schema(description = "是否为外链(0是 1否)")
private Integer isFrame;
@Schema(description = "是否缓存(0缓存 1不缓存)")
private Integer isCache;
@Schema(description = "菜单类型(M目录 C菜单 F按钮)")
private String menuType;
@Schema(description = "显示状态(0显示 1隐藏)")
private String visible;
@Schema(description = "菜单状态(0正常 1停用)")
private String status;
@Schema(description = "权限标识")
private String perms;
@Schema(description = "菜单图标")
private String icon;
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改菜单请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改菜单请求")
public class SysMenuUpdateDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "菜单ID")
private Long menuId;
@Schema(description = "菜单名称")
private String menuName;
@Schema(description = "父菜单ID")
private Long parentId;
@Schema(description = "排序号")
private Integer orderNum;
@Schema(description = "路由地址")
private String path;
@Schema(description = "组件路径")
private String component;
@Schema(description = "路由参数")
private String query;
@Schema(description = "路由名称")
private String routeName;
@Schema(description = "是否为外链(0是 1否)")
private Integer isFrame;
@Schema(description = "是否缓存(0缓存 1不缓存)")
private Integer isCache;
@Schema(description = "菜单类型(M目录 C菜单 F按钮)")
private String menuType;
@Schema(description = "显示状态(0显示 1隐藏)")
private String visible;
@Schema(description = "菜单状态(0正常 1停用)")
private String status;
@Schema(description = "权限标识")
private String perms;
@Schema(description = "菜单图标")
private String icon;
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 新增岗位请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "新增岗位请求")
public class SysPostSaveDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "岗位编码")
private String postCode;
@Schema(description = "岗位名称")
private String postName;
@Schema(description = "排序号")
private Integer postSort;
@Schema(description = "状态(0正常 1停用)")
private String status;
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改岗位请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改岗位请求")
public class SysPostUpdateDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "岗位ID")
private Long postId;
@Schema(description = "岗位编码")
private String postCode;
@Schema(description = "岗位名称")
private String postName;
@Schema(description = "排序号")
private Integer postSort;
@Schema(description = "状态(0正常 1停用)")
private String status;
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 角色数据权限请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "角色数据权限请求")
public class SysRoleDataScopeDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "角色ID")
private Long roleId;
@Schema(description = "数据权限范围")
private String dataScope;
@Schema(description = "部门ID列表")
private Long[] deptIds;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 新增角色请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "新增角色请求")
public class SysRoleSaveDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "角色名称")
private String roleName;
@Schema(description = "角色权限字符串")
private String roleKey;
@Schema(description = "排序号")
private Integer roleSort;
@Schema(description = "角色状态(0正常 1停用)")
private String status;
@Schema(description = "数据权限范围")
private String dataScope;
@Schema(description = "菜单树选择项是否关联显示")
private Boolean menuCheckStrictly;
@Schema(description = "部门树选择项是否关联显示")
private Boolean deptCheckStrictly;
@Schema(description = "菜单ID列表")
private Long[] menuIds;
@Schema(description = "部门ID列表(数据权限)")
private Long[] deptIds;
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改角色状态请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改角色状态请求")
public class SysRoleStatusDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "角色ID")
private Long roleId;
@Schema(description = "角色状态(0正常 1停用)")
private String status;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改角色请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改角色请求")
public class SysRoleUpdateDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "角色ID")
private Long roleId;
@Schema(description = "角色名称")
private String roleName;
@Schema(description = "角色权限字符串")
private String roleKey;
@Schema(description = "排序号")
private Integer roleSort;
@Schema(description = "角色状态(0正常 1停用)")
private String status;
@Schema(description = "数据权限范围")
private String dataScope;
@Schema(description = "菜单树选择项是否关联显示")
private Boolean menuCheckStrictly;
@Schema(description = "部门树选择项是否关联显示")
private Boolean deptCheckStrictly;
@Schema(description = "菜单ID列表")
private Long[] menuIds;
@Schema(description = "部门ID列表(数据权限)")
private Long[] deptIds;
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改用户状态请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改用户状态请求")
public class SysUserChangeStatusDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "用户ID")
private Long userId;
@Schema(description = "状态(0正常 1停用)")
private String status;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 重置密码请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "重置密码请求")
public class SysUserResetPwdDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "用户ID")
private Long userId;
@Schema(description = "新密码")
private String password;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 新增用户请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "新增用户请求")
public class SysUserSaveDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "用户名")
private String userName;
@Schema(description = "昵称")
private String nickName;
@Schema(description = "密码")
private String password;
@Schema(description = "部门ID")
private Long deptId;
@Schema(description = "邮箱")
private String email;
@Schema(description = "手机号码")
private String phonenumber;
@Schema(description = "性别(0男 1女 2未知)")
private String sex;
@Schema(description = "状态(0正常 1停用)")
private String status;
@Schema(description = "角色ID列表")
private Long[] roleIds;
@Schema(description = "岗位ID列表")
private Long[] postIds;
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改用户请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改用户请求")
public class SysUserUpdateDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "用户ID")
private Long userId;
@Schema(description = "昵称")
private String nickName;
@Schema(description = "部门ID")
private Long deptId;
@Schema(description = "邮箱")
private String email;
@Schema(description = "手机号码")
private String phonenumber;
@Schema(description = "性别(0男 1女 2未知)")
private String sex;
@Schema(description = "状态(0正常 1停用)")
private String status;
@Schema(description = "角色ID列表")
private Long[] roleIds;
@Schema(description = "岗位ID列表")
private Long[] postIds;
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.dto.system;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改密码请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改密码请求")
public class SysUserUpdatePwdDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "旧密码")
private String oldPassword;
@Schema(description = "新密码")
private String newPassword;
}
package com.jomalls.custom.app.dto.warehouse;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 新增仓库请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "新增仓库请求")
public class CustomWarehouseInfoSaveDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "仓库名称")
private String warehouseName;
@Schema(description = "仓库编码")
private String warehouseCode;
@Schema(description = "统筹物流")
private Boolean overallLogistics;
@Schema(description = "超级工厂")
private Integer superFactory;
@Schema(description = "系统物流")
private Boolean systemLogistics;
@Schema(description = "统筹物流覆盖范围")
private String overallLogisticsScope;
@Schema(description = "联系人姓名")
private String contactName;
@Schema(description = "联系人电话")
private String contactPhone;
@Schema(description = "联系人邮箱")
private String contactEmail;
@Schema(description = "国家代码")
private String countryCode;
@Schema(description = "国家名称")
private String countryName;
@Schema(description = "州省")
private String province;
@Schema(description = "州省 code")
private String provinceCode;
@Schema(description = "州省简称")
private String provinceAbb;
@Schema(description = "城市")
private String city;
@Schema(description = "城市编码")
private String cityCode;
@Schema(description = "区县")
private String district;
@Schema(description = "街道")
private String street;
@Schema(description = "邮编")
private String postcode;
@Schema(description = "公司名称")
private String companyName;
@Schema(description = "社会信用代码")
private String socialCreditCode;
@Schema(description = "备注")
private String remarks;
@Schema(description = "联系人姓名(中文)")
private String contactNameCn;
@Schema(description = "国家名称(中文)")
private String countryNameCn;
@Schema(description = "洲省(中文)")
private String provinceCn;
@Schema(description = "城市(中文)")
private String cityCn;
@Schema(description = "区县(中文)")
private String districtCn;
@Schema(description = "街道(中文)")
private String streetCn;
@Schema(description = "公司名称(中文)")
private String companyNameCn;
@Schema(description = "币种")
private String settlementCurrency;
@Schema(description = "是否为正式仓库")
private Boolean formal;
}
package com.jomalls.custom.app.dto.warehouse;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 修改仓库请求 DTO
*
* @author Lizh
*/
@Data
@Schema(description = "修改仓库请求")
public class CustomWarehouseInfoUpdateDTO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@Schema(description = "仓库ID")
private Long id;
@Schema(description = "仓库名称")
private String warehouseName;
@Schema(description = "仓库编码")
private String warehouseCode;
@Schema(description = "统筹物流")
private Boolean overallLogistics;
@Schema(description = "超级工厂")
private Integer superFactory;
@Schema(description = "系统物流")
private Boolean systemLogistics;
@Schema(description = "统筹物流覆盖范围")
private String overallLogisticsScope;
@Schema(description = "联系人姓名")
private String contactName;
@Schema(description = "联系人电话")
private String contactPhone;
@Schema(description = "联系人邮箱")
private String contactEmail;
@Schema(description = "国家代码")
private String countryCode;
@Schema(description = "国家名称")
private String countryName;
@Schema(description = "州省")
private String province;
@Schema(description = "州省 code")
private String provinceCode;
@Schema(description = "州省简称")
private String provinceAbb;
@Schema(description = "城市")
private String city;
@Schema(description = "城市编码")
private String cityCode;
@Schema(description = "区县")
private String district;
@Schema(description = "街道")
private String street;
@Schema(description = "邮编")
private String postcode;
@Schema(description = "公司名称")
private String companyName;
@Schema(description = "社会信用代码")
private String socialCreditCode;
@Schema(description = "备注")
private String remarks;
@Schema(description = "联系人姓名(中文)")
private String contactNameCn;
@Schema(description = "国家名称(中文)")
private String countryNameCn;
@Schema(description = "洲省(中文)")
private String provinceCn;
@Schema(description = "城市(中文)")
private String cityCn;
@Schema(description = "区县(中文)")
private String districtCn;
@Schema(description = "街道(中文)")
private String streetCn;
@Schema(description = "公司名称(中文)")
private String companyNameCn;
@Schema(description = "币种")
private String settlementCurrency;
@Schema(description = "是否为正式仓库")
private Boolean formal;
}
...@@ -16,6 +16,7 @@ import com.jomalls.custom.app.service.product.SysBillRuleService; ...@@ -16,6 +16,7 @@ import com.jomalls.custom.app.service.product.SysBillRuleService;
import com.jomalls.custom.app.utils.BeanMapper; import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.utils.CustomAsserts; import com.jomalls.custom.app.utils.CustomAsserts;
import com.jomalls.custom.app.vo.*; import com.jomalls.custom.app.vo.*;
import com.jomalls.custom.app.vo.warehouse.CustomWarehouseInfoSnakeVO;
import com.jomalls.custom.dal.entity.*; import com.jomalls.custom.dal.entity.*;
import com.jomalls.custom.domain.service.product.CustomProductBlacklistDomainService; import com.jomalls.custom.domain.service.product.CustomProductBlacklistDomainService;
import com.jomalls.custom.domain.service.product.CustomProductCnRemarkDomainService; import com.jomalls.custom.domain.service.product.CustomProductCnRemarkDomainService;
......
package com.jomalls.custom.app.service.system; package com.jomalls.custom.app.service.system;
import com.jomalls.custom.app.vo.BaseCountryCodeVO; import com.jomalls.custom.app.vo.system.BaseCountryCodeVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
......
...@@ -2,7 +2,7 @@ package com.jomalls.custom.app.service.system; ...@@ -2,7 +2,7 @@ package com.jomalls.custom.app.service.system;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.dal.entity.SysComposeServerLogEntity; import com.jomalls.custom.app.vo.system.SysComposeServerLogVO;
import java.util.List; import java.util.List;
...@@ -21,15 +21,15 @@ public interface SysComposeServerLogService { ...@@ -21,15 +21,15 @@ public interface SysComposeServerLogService {
* @param page 分页参数 * @param page 分页参数
* @return 分页结果 * @return 分页结果
*/ */
IPage<SysComposeServerLogEntity> pageList(SysComposeServerLogEntity log, Page<SysComposeServerLogEntity> page); IPage<SysComposeServerLogVO> pageList(SysComposeServerLogVO log, Page<SysComposeServerLogVO> page);
/** /**
* 根据ID查询日志详情 * 根据ID查询日志详情
* *
* @param id 日志id * @param id 日志id
* @return 日志详情 * @return 日志详情 VO
*/ */
SysComposeServerLogEntity getById(Long id); SysComposeServerLogVO getById(Long id);
/** /**
* 批量删除日志 * 批量删除日志
......
...@@ -2,7 +2,9 @@ package com.jomalls.custom.app.service.system; ...@@ -2,7 +2,9 @@ package com.jomalls.custom.app.service.system;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.dal.entity.SysComposeServerEntity; import com.jomalls.custom.app.dto.system.SysComposeServerSaveDTO;
import com.jomalls.custom.app.dto.system.SysComposeServerUpdateDTO;
import com.jomalls.custom.app.vo.system.SysComposeServerVO;
import java.util.List; import java.util.List;
...@@ -21,28 +23,28 @@ public interface SysComposeServerService { ...@@ -21,28 +23,28 @@ public interface SysComposeServerService {
* @param page 分页参数 * @param page 分页参数
* @return 分页结果 * @return 分页结果
*/ */
IPage<SysComposeServerEntity> pageList(SysComposeServerEntity server, Page<SysComposeServerEntity> page); IPage<SysComposeServerVO> pageList(SysComposeServerVO server, Page<SysComposeServerVO> page);
/** /**
* 查询所有启用的服务器主机地址 * 查询所有启用的服务器主机地址
* *
* @return 服务器列表 * @return 服务器列表 VO
*/ */
List<SysComposeServerEntity> getAllServerHost(); List<SysComposeServerVO> getAllServerHost();
/** /**
* 新增服务器 * 新增服务器
* *
* @param server 服务器信息 * @param dto 新增服务器请求
*/ */
void add(SysComposeServerEntity server); void add(SysComposeServerSaveDTO dto);
/** /**
* 修改服务器 * 修改服务器
* *
* @param server 服务器信息 * @param dto 修改服务器请求
*/ */
void updateById(SysComposeServerEntity server); void updateById(SysComposeServerUpdateDTO dto);
/** /**
* 更新服务器状态 * 更新服务器状态
......
package com.jomalls.custom.app.service.system; package com.jomalls.custom.app.service.system;
import com.jomalls.custom.dal.entity.SysDeptEntity; import com.jomalls.custom.app.dto.system.SysDeptSaveDTO;
import com.jomalls.custom.app.dto.system.SysDeptUpdateDTO;
import com.jomalls.custom.app.vo.system.SysDeptVO;
import java.util.List; import java.util.List;
...@@ -15,39 +17,39 @@ public interface SysDeptService { ...@@ -15,39 +17,39 @@ public interface SysDeptService {
* 查询部门列表(树结构) * 查询部门列表(树结构)
* *
* @param dept 查询条件 * @param dept 查询条件
* @return 部门树 * @return 部门树 VO
*/ */
List<SysDeptEntity> selectDeptList(SysDeptEntity dept); List<SysDeptVO> selectDeptList(SysDeptVO dept);
/** /**
* 查询部门列表(排除指定子部门) * 查询部门列表(排除指定子部门)
* *
* @param deptId 部门ID * @param deptId 部门ID
* @return 部门列表 * @return 部门列表 VO
*/ */
List<SysDeptEntity> selectDeptListExcludeChild(Long deptId); List<SysDeptVO> selectDeptListExcludeChild(Long deptId);
/** /**
* 根据ID查询部门 * 根据ID查询部门
* *
* @param deptId 部门ID * @param deptId 部门ID
* @return 部门信息 * @return 部门 VO
*/ */
SysDeptEntity getById(Long deptId); SysDeptVO getById(Long deptId);
/** /**
* 新增部门 * 新增部门
* *
* @param dept 部门信息 * @param dto 新增部门请求
*/ */
void add(SysDeptEntity dept); void add(SysDeptSaveDTO dto);
/** /**
* 修改部门 * 修改部门
* *
* @param dept 部门信息 * @param dto 修改部门请求
*/ */
void edit(SysDeptEntity dept); void edit(SysDeptUpdateDTO dto);
/** /**
* 删除部门 * 删除部门
......
package com.jomalls.custom.app.service.system; package com.jomalls.custom.app.service.system;
import com.jomalls.custom.app.vo.LoginUserInfoVO; import com.jomalls.custom.app.vo.system.LoginUserInfoVO;
import com.jomalls.custom.app.vo.RouterVO; import com.jomalls.custom.app.vo.system.RouterVO;
import java.util.List; import java.util.List;
......
package com.jomalls.custom.app.service.system; package com.jomalls.custom.app.service.system;
import com.jomalls.custom.app.vo.TreeSelectVO; import com.jomalls.custom.app.dto.system.SysMenuSaveDTO;
import com.jomalls.custom.dal.entity.SysMenuEntity; import com.jomalls.custom.app.dto.system.SysMenuUpdateDTO;
import com.jomalls.custom.app.vo.system.SysMenuVO;
import com.jomalls.custom.app.vo.system.TreeSelectVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -17,17 +19,17 @@ public interface SysMenuService { ...@@ -17,17 +19,17 @@ public interface SysMenuService {
* 查询菜单列表(树结构) * 查询菜单列表(树结构)
* *
* @param menu 查询条件 * @param menu 查询条件
* @return 菜单 * @return 菜单 VO 列表
*/ */
List<SysMenuEntity> selectMenuList(SysMenuEntity menu); List<SysMenuVO> selectMenuList(SysMenuVO menu);
/** /**
* 根据ID查询菜单 * 根据ID查询菜单
* *
* @param menuId 菜单ID * @param menuId 菜单ID
* @return 菜单信息 * @return 菜单 VO
*/ */
SysMenuEntity getById(Long menuId); SysMenuVO getById(Long menuId);
/** /**
* 查询菜单树下拉列表 * 查询菜单树下拉列表
...@@ -47,16 +49,16 @@ public interface SysMenuService { ...@@ -47,16 +49,16 @@ public interface SysMenuService {
/** /**
* 新增菜单 * 新增菜单
* *
* @param menu 菜单信息 * @param dto 新增菜单请求
*/ */
void add(SysMenuEntity menu); void add(SysMenuSaveDTO dto);
/** /**
* 修改菜单 * 修改菜单
* *
* @param menu 菜单信息 * @param dto 修改菜单请求
*/ */
void edit(SysMenuEntity menu); void edit(SysMenuUpdateDTO dto);
/** /**
* 删除菜单 * 删除菜单
......
...@@ -2,7 +2,9 @@ package com.jomalls.custom.app.service.system; ...@@ -2,7 +2,9 @@ package com.jomalls.custom.app.service.system;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.dal.entity.SysPostEntity; import com.jomalls.custom.app.dto.system.SysPostSaveDTO;
import com.jomalls.custom.app.dto.system.SysPostUpdateDTO;
import com.jomalls.custom.app.vo.system.SysPostVO;
/** /**
* 岗位管理 App Service 接口 * 岗位管理 App Service 接口
...@@ -18,29 +20,29 @@ public interface SysPostService { ...@@ -18,29 +20,29 @@ public interface SysPostService {
* @param page 分页参数 * @param page 分页参数
* @return 分页结果 * @return 分页结果
*/ */
IPage<SysPostEntity> pageList(SysPostEntity post, Page<SysPostEntity> page); IPage<SysPostVO> pageList(SysPostVO post, Page<SysPostVO> page);
/** /**
* 根据ID查询岗位 * 根据ID查询岗位
* *
* @param postId 岗位ID * @param postId 岗位ID
* @return 岗位信息 * @return 岗位 VO
*/ */
SysPostEntity getById(Long postId); SysPostVO getById(Long postId);
/** /**
* 新增岗位 * 新增岗位
* *
* @param post 岗位信息 * @param dto 新增岗位请求
*/ */
void add(SysPostEntity post); void add(SysPostSaveDTO dto);
/** /**
* 修改岗位 * 修改岗位
* *
* @param post 岗位信息 * @param dto 修改岗位请求
*/ */
void edit(SysPostEntity post); void edit(SysPostUpdateDTO dto);
/** /**
* 批量删除岗位 * 批量删除岗位
......
...@@ -2,11 +2,13 @@ package com.jomalls.custom.app.service.system; ...@@ -2,11 +2,13 @@ package com.jomalls.custom.app.service.system;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.dal.entity.SysDeptEntity; import com.jomalls.custom.app.dto.system.*;
import com.jomalls.custom.dal.entity.SysRoleEntity; import com.jomalls.custom.app.vo.system.SysDeptVO;
import com.jomalls.custom.dal.entity.SysUserEntity; import com.jomalls.custom.app.vo.system.SysRoleVO;
import com.jomalls.custom.app.vo.system.SysUserVO;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 角色管理 App Service 接口 * 角色管理 App Service 接口
...@@ -22,44 +24,43 @@ public interface SysRoleService { ...@@ -22,44 +24,43 @@ public interface SysRoleService {
* @param page 分页参数 * @param page 分页参数
* @return 分页结果 * @return 分页结果
*/ */
IPage<SysRoleEntity> pageList(SysRoleEntity role, Page<SysRoleEntity> page); IPage<SysRoleVO> pageList(SysRoleVO role, Page<SysRoleVO> page);
/** /**
* 根据ID查询角色 * 根据ID查询角色
* *
* @param roleId 角色ID * @param roleId 角色ID
* @return 角色信息 * @return 角色 VO
*/ */
SysRoleEntity getById(Long roleId); SysRoleVO getById(Long roleId);
/** /**
* 新增角色 * 新增角色
* *
* @param role 角色信息 * @param dto 新增角色请求
*/ */
void add(SysRoleEntity role); void add(SysRoleSaveDTO dto);
/** /**
* 修改角色 * 修改角色
* *
* @param role 角色信息 * @param dto 修改角色请求
*/ */
void edit(SysRoleEntity role); void edit(SysRoleUpdateDTO dto);
/** /**
* 修改角色数据权限 * 修改角色数据权限
* *
* @param role 角色信息(含deptIds) * @param dto 角色数据权限请求
*/ */
void dataScope(SysRoleEntity role); void dataScope(SysRoleDataScopeDTO dto);
/** /**
* 修改角色状态 * 修改角色状态
* *
* @param roleId 角色ID * @param dto 修改角色状态请求
* @param status 状态
*/ */
void changeStatus(Long roleId, String status); void changeStatus(SysRoleStatusDTO dto);
/** /**
* 批量删除角色 * 批量删除角色
...@@ -75,7 +76,7 @@ public interface SysRoleService { ...@@ -75,7 +76,7 @@ public interface SysRoleService {
* @param page 分页参数 * @param page 分页参数
* @return 分页结果 * @return 分页结果
*/ */
IPage<SysUserEntity> allocatedList(SysUserEntity user, Page<SysUserEntity> page); IPage<SysUserVO> allocatedList(SysUserVO user, Page<SysUserVO> page);
/** /**
* 分页查询未分配用户 * 分页查询未分配用户
...@@ -84,7 +85,7 @@ public interface SysRoleService { ...@@ -84,7 +85,7 @@ public interface SysRoleService {
* @param page 分页参数 * @param page 分页参数
* @return 分页结果 * @return 分页结果
*/ */
IPage<SysUserEntity> unallocatedList(SysUserEntity user, Page<SysUserEntity> page); IPage<SysUserVO> unallocatedList(SysUserVO user, Page<SysUserVO> page);
/** /**
* 取消授权用户 * 取消授权用户
...@@ -114,7 +115,7 @@ public interface SysRoleService { ...@@ -114,7 +115,7 @@ public interface SysRoleService {
* 查询部门树(含角色已选部门ID) * 查询部门树(含角色已选部门ID)
* *
* @param roleId 角色ID * @param roleId 角色ID
* @return 部门树 * @return 部门树 VO
*/ */
List<SysDeptEntity> deptTree(Long roleId); List<SysDeptVO> deptTree(Long roleId);
} }
...@@ -2,8 +2,9 @@ package com.jomalls.custom.app.service.system; ...@@ -2,8 +2,9 @@ package com.jomalls.custom.app.service.system;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.dal.entity.SysDeptEntity; import com.jomalls.custom.app.dto.system.*;
import com.jomalls.custom.dal.entity.SysUserEntity; import com.jomalls.custom.app.vo.system.SysDeptVO;
import com.jomalls.custom.app.vo.system.SysUserVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -18,33 +19,33 @@ public interface SysUserService { ...@@ -18,33 +19,33 @@ public interface SysUserService {
/** /**
* 分页查询用户列表 * 分页查询用户列表
* *
* @param user 查询条件 * @param user 查询条件(使用 DTO 中的字段作为查询条件)
* @param page 分页参数 * @param page 分页参数
* @return 分页结果 * @return 分页结果(含 VO)
*/ */
IPage<SysUserEntity> pageList(SysUserEntity user, Page<SysUserEntity> page); IPage<SysUserVO> pageList(SysUserVO user, Page<SysUserVO> page);
/** /**
* 查询用户详情(含角色列表、岗位ID) * 查询用户详情(含角色列表、岗位ID)
* *
* @param userId 用户ID * @param userId 用户ID
* @return 包含 user、roles、postIds 的Map * @return 包含 userVO、roles、postIds 的Map
*/ */
Map<String, Object> getInfo(Long userId); Map<String, Object> getInfo(Long userId);
/** /**
* 新增用户 * 新增用户
* *
* @param user 用户信息 * @param dto 新增用户请求
*/ */
void add(SysUserEntity user); void add(SysUserSaveDTO dto);
/** /**
* 修改用户 * 修改用户
* *
* @param user 用户信息 * @param dto 修改用户请求
*/ */
void edit(SysUserEntity user); void edit(SysUserUpdateDTO dto);
/** /**
* 批量删除用户(逻辑删除) * 批量删除用户(逻辑删除)
...@@ -56,40 +57,37 @@ public interface SysUserService { ...@@ -56,40 +57,37 @@ public interface SysUserService {
/** /**
* 重置密码 * 重置密码
* *
* @param userId 用户ID * @param dto 重置密码请求
* @param password 新密码
*/ */
void resetPwd(Long userId, String password); void resetPwd(SysUserResetPwdDTO dto);
/** /**
* 修改用户状态 * 修改用户状态
* *
* @param userId 用户ID * @param dto 修改用户状态请求
* @param status 状态
*/ */
void changeStatus(Long userId, String status); void changeStatus(SysUserChangeStatusDTO dto);
/** /**
* 获取当前登录用户信息 * 获取当前登录用户信息
* *
* @return 当前登录用户 * @return 当前登录用户 VO
*/ */
SysUserEntity getProfile(); SysUserVO getProfile();
/** /**
* 更新当前登录用户信息 * 更新当前登录用户信息
* *
* @param user 用户信息 * @param user 用户信息(使用 VO 作为接收对象)
*/ */
void updateProfile(SysUserEntity user); void updateProfile(SysUserVO user);
/** /**
* 修改当前登录用户密码 * 修改当前登录用户密码
* *
* @param oldPassword 旧密码 * @param dto 修改密码请求
* @param newPassword 新密码
*/ */
void updatePwd(String oldPassword, String newPassword); void updatePwd(SysUserUpdatePwdDTO dto);
/** /**
* 查询用户已分配的角色ID列表 * 查询用户已分配的角色ID列表
...@@ -110,7 +108,7 @@ public interface SysUserService { ...@@ -110,7 +108,7 @@ public interface SysUserService {
/** /**
* 查询部门树 * 查询部门树
* *
* @return 部门树 * @return 部门树 VO
*/ */
List<SysDeptEntity> deptTree(); List<SysDeptVO> deptTree();
} }
package com.jomalls.custom.app.service.system.impl; package com.jomalls.custom.app.service.system.impl;
import com.jomalls.custom.app.service.system.BaseCountryCodeService; import com.jomalls.custom.app.service.system.BaseCountryCodeService;
import com.jomalls.custom.app.vo.BaseCountryCodeVO; import com.jomalls.custom.app.vo.system.BaseCountryCodeVO;
import com.jomalls.custom.integrate.model.BaseCountryCodeModel; import com.jomalls.custom.integrate.model.BaseCountryCodeModel;
import com.jomalls.custom.integrate.service.SaasAdminService; import com.jomalls.custom.integrate.service.SaasAdminService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
......
...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.service.system.SysComposeServerLogService; import com.jomalls.custom.app.service.system.SysComposeServerLogService;
import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.vo.system.SysComposeServerLogVO;
import com.jomalls.custom.dal.entity.SysComposeServerLogEntity; import com.jomalls.custom.dal.entity.SysComposeServerLogEntity;
import com.jomalls.custom.dal.mapper.SysComposeServerLogMapper; import com.jomalls.custom.dal.mapper.SysComposeServerLogMapper;
import com.jomalls.custom.domain.service.misc.SysComposeServerLogDomainService; import com.jomalls.custom.domain.service.misc.SysComposeServerLogDomainService;
...@@ -29,7 +31,7 @@ public class SysComposeServerLogServiceImpl implements SysComposeServerLogServic ...@@ -29,7 +31,7 @@ public class SysComposeServerLogServiceImpl implements SysComposeServerLogServic
private final SysComposeServerLogDomainService sysComposeServerLogDomainService; private final SysComposeServerLogDomainService sysComposeServerLogDomainService;
@Override @Override
public IPage<SysComposeServerLogEntity> pageList(SysComposeServerLogEntity log, Page<SysComposeServerLogEntity> page) { public IPage<SysComposeServerLogVO> pageList(SysComposeServerLogVO log, Page<SysComposeServerLogVO> page) {
// 分页查询 // 分页查询
LambdaQueryWrapper<SysComposeServerLogEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysComposeServerLogEntity> wrapper = new LambdaQueryWrapper<>();
if (log.getComposeServerId() != null) { if (log.getComposeServerId() != null) {
...@@ -42,12 +44,18 @@ public class SysComposeServerLogServiceImpl implements SysComposeServerLogServic ...@@ -42,12 +44,18 @@ public class SysComposeServerLogServiceImpl implements SysComposeServerLogServic
wrapper.like(SysComposeServerLogEntity::getBatchNumber, log.getBatchNumber()); wrapper.like(SysComposeServerLogEntity::getBatchNumber, log.getBatchNumber());
} }
wrapper.orderByDesc(SysComposeServerLogEntity::getCreateTime); wrapper.orderByDesc(SysComposeServerLogEntity::getCreateTime);
return sysComposeServerLogDomainService.page(page, wrapper); IPage<SysComposeServerLogEntity> entityPage = sysComposeServerLogDomainService.page(
new Page<>(page.getCurrent(), page.getSize()), wrapper);
// Entity → VO 转换
IPage<SysComposeServerLogVO> voPage = new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal());
voPage.setRecords(BeanMapper.mapper().convertList(entityPage.getRecords(), SysComposeServerLogVO.class));
return voPage;
} }
@Override @Override
public SysComposeServerLogEntity getById(Long id) { public SysComposeServerLogVO getById(Long id) {
return sysComposeServerLogMapper.selectLogById(id); SysComposeServerLogEntity entity = sysComposeServerLogMapper.selectLogById(id);
return BeanMapper.mapper().convert(entity, SysComposeServerLogVO.class);
} }
@Override @Override
......
...@@ -3,8 +3,12 @@ package com.jomalls.custom.app.service.system.impl; ...@@ -3,8 +3,12 @@ package com.jomalls.custom.app.service.system.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.dto.system.SysComposeServerSaveDTO;
import com.jomalls.custom.app.dto.system.SysComposeServerUpdateDTO;
import com.jomalls.custom.app.exception.ServiceException; import com.jomalls.custom.app.exception.ServiceException;
import com.jomalls.custom.app.service.system.SysComposeServerService; import com.jomalls.custom.app.service.system.SysComposeServerService;
import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.vo.system.SysComposeServerVO;
import com.jomalls.custom.dal.entity.SysComposeServerEntity; import com.jomalls.custom.dal.entity.SysComposeServerEntity;
import com.jomalls.custom.dal.entity.SysComposeServerLogEntity; import com.jomalls.custom.dal.entity.SysComposeServerLogEntity;
import com.jomalls.custom.domain.service.misc.SysComposeServerDomainService; import com.jomalls.custom.domain.service.misc.SysComposeServerDomainService;
...@@ -33,14 +37,15 @@ public class SysComposeServerServiceImpl implements SysComposeServerService { ...@@ -33,14 +37,15 @@ public class SysComposeServerServiceImpl implements SysComposeServerService {
private final SysComposeServerLogDomainService sysComposeServerLogDomainService; private final SysComposeServerLogDomainService sysComposeServerLogDomainService;
@Override @Override
public IPage<SysComposeServerEntity> pageList(SysComposeServerEntity server, Page<SysComposeServerEntity> page) { public IPage<SysComposeServerVO> pageList(SysComposeServerVO server, Page<SysComposeServerVO> page) {
// 分页查询 // 分页查询
LambdaQueryWrapper<SysComposeServerEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysComposeServerEntity> wrapper = new LambdaQueryWrapper<>();
if (StringUtils.hasText(server.getTitle())) { if (StringUtils.hasText(server.getTitle())) {
wrapper.like(SysComposeServerEntity::getTitle, server.getTitle()); wrapper.like(SysComposeServerEntity::getTitle, server.getTitle());
} }
wrapper.orderByDesc(SysComposeServerEntity::getCreateTime); wrapper.orderByDesc(SysComposeServerEntity::getCreateTime);
IPage<SysComposeServerEntity> result = sysComposeServerDomainService.page(page, wrapper); IPage<SysComposeServerEntity> result = sysComposeServerDomainService.page(
new Page<>(page.getCurrent(), page.getSize()), wrapper);
// 统计每个服务器的日志数量 // 统计每个服务器的日志数量
List<SysComposeServerEntity> records = result.getRecords(); List<SysComposeServerEntity> records = result.getRecords();
...@@ -56,24 +61,29 @@ public class SysComposeServerServiceImpl implements SysComposeServerService { ...@@ -56,24 +61,29 @@ public class SysComposeServerServiceImpl implements SysComposeServerService {
} }
} }
return result; // Entity → VO 转换
IPage<SysComposeServerVO> voPage = new Page<>(result.getCurrent(), result.getSize(), result.getTotal());
voPage.setRecords(BeanMapper.mapper().convertList(result.getRecords(), SysComposeServerVO.class));
return voPage;
} }
@Override @Override
public List<SysComposeServerEntity> getAllServerHost() { public List<SysComposeServerVO> getAllServerHost() {
return sysComposeServerDomainService.list(new LambdaQueryWrapper<SysComposeServerEntity>() List<SysComposeServerEntity> list = sysComposeServerDomainService.list(new LambdaQueryWrapper<SysComposeServerEntity>()
.eq(SysComposeServerEntity::getStatus, 1) .eq(SysComposeServerEntity::getStatus, 1)
.select(SysComposeServerEntity::getId, SysComposeServerEntity::getHost)); .select(SysComposeServerEntity::getId, SysComposeServerEntity::getHost));
return BeanMapper.mapper().convertList(list, SysComposeServerVO.class);
} }
@Override @Override
public void add(SysComposeServerEntity server) { public void add(SysComposeServerSaveDTO dto) {
if (!StringUtils.hasText(server.getTitle())) { if (!StringUtils.hasText(dto.getTitle())) {
throw new ServiceException("服务器标题不能为空"); throw new ServiceException("服务器标题不能为空");
} }
if (!StringUtils.hasText(server.getHost())) { if (!StringUtils.hasText(dto.getHost())) {
throw new ServiceException("服务器地址不能为空"); throw new ServiceException("服务器地址不能为空");
} }
SysComposeServerEntity server = BeanMapper.mapper().convert(dto, SysComposeServerEntity.class);
server.setStatus(1); server.setStatus(1);
boolean saved = sysComposeServerDomainService.save(server); boolean saved = sysComposeServerDomainService.save(server);
if (saved) { if (saved) {
...@@ -82,7 +92,8 @@ public class SysComposeServerServiceImpl implements SysComposeServerService { ...@@ -82,7 +92,8 @@ public class SysComposeServerServiceImpl implements SysComposeServerService {
} }
@Override @Override
public void updateById(SysComposeServerEntity server) { public void updateById(SysComposeServerUpdateDTO dto) {
SysComposeServerEntity server = BeanMapper.mapper().convert(dto, SysComposeServerEntity.class);
sysComposeServerDomainService.updateById(server); sysComposeServerDomainService.updateById(server);
log.info("修改服务器成功: id={}", server.getId()); log.info("修改服务器成功: id={}", server.getId());
} }
......
package com.jomalls.custom.app.service.system.impl; package com.jomalls.custom.app.service.system.impl;
import com.jomalls.custom.app.dto.system.SysDeptSaveDTO;
import com.jomalls.custom.app.dto.system.SysDeptUpdateDTO;
import com.jomalls.custom.app.exception.ServiceException; import com.jomalls.custom.app.exception.ServiceException;
import com.jomalls.custom.app.service.system.SysDeptService; import com.jomalls.custom.app.service.system.SysDeptService;
import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.vo.system.SysDeptVO;
import com.jomalls.custom.dal.entity.SysDeptEntity; import com.jomalls.custom.dal.entity.SysDeptEntity;
import com.jomalls.custom.domain.service.system.SysDeptDomainService; import com.jomalls.custom.domain.service.system.SysDeptDomainService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -23,25 +27,30 @@ public class SysDeptServiceImpl implements SysDeptService { ...@@ -23,25 +27,30 @@ public class SysDeptServiceImpl implements SysDeptService {
private final SysDeptDomainService sysDeptDomainService; private final SysDeptDomainService sysDeptDomainService;
@Override @Override
public List<SysDeptEntity> selectDeptList(SysDeptEntity dept) { public List<SysDeptVO> selectDeptList(SysDeptVO dept) {
SysDeptEntity query = BeanMapper.mapper().convert(dept, SysDeptEntity.class);
// 查询扁平部门列表 // 查询扁平部门列表
List<SysDeptEntity> deptList = sysDeptDomainService.selectDeptList(dept); List<SysDeptEntity> deptList = sysDeptDomainService.selectDeptList(query);
// 构建部门树 // 构建部门树
return sysDeptDomainService.buildDeptTree(deptList); List<SysDeptEntity> tree = sysDeptDomainService.buildDeptTree(deptList);
return BeanMapper.mapper().convertList(tree, SysDeptVO.class);
} }
@Override @Override
public List<SysDeptEntity> selectDeptListExcludeChild(Long deptId) { public List<SysDeptVO> selectDeptListExcludeChild(Long deptId) {
return sysDeptDomainService.selectDeptListExcludeChild(deptId); List<SysDeptEntity> deptList = sysDeptDomainService.selectDeptListExcludeChild(deptId);
return BeanMapper.mapper().convertList(deptList, SysDeptVO.class);
} }
@Override @Override
public SysDeptEntity getById(Long deptId) { public SysDeptVO getById(Long deptId) {
return sysDeptDomainService.getById(deptId); SysDeptEntity entity = sysDeptDomainService.getById(deptId);
return BeanMapper.mapper().convert(entity, SysDeptVO.class);
} }
@Override @Override
public void add(SysDeptEntity dept) { public void add(SysDeptSaveDTO dto) {
SysDeptEntity dept = BeanMapper.mapper().convert(dto, SysDeptEntity.class);
// 设置祖级列表 // 设置祖级列表
if (dept.getParentId() == null || dept.getParentId() == 0L) { if (dept.getParentId() == null || dept.getParentId() == 0L) {
dept.setAncestors("0"); dept.setAncestors("0");
...@@ -59,7 +68,8 @@ public class SysDeptServiceImpl implements SysDeptService { ...@@ -59,7 +68,8 @@ public class SysDeptServiceImpl implements SysDeptService {
} }
@Override @Override
public void edit(SysDeptEntity dept) { public void edit(SysDeptUpdateDTO dto) {
SysDeptEntity dept = BeanMapper.mapper().convert(dto, SysDeptEntity.class);
sysDeptDomainService.updateById(dept); sysDeptDomainService.updateById(dept);
log.info("修改部门成功: deptId={}", dept.getDeptId()); log.info("修改部门成功: deptId={}", dept.getDeptId());
} }
......
...@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jomalls.custom.app.exception.ServiceException; import com.jomalls.custom.app.exception.ServiceException;
import com.jomalls.custom.app.service.system.SysLoginService; import com.jomalls.custom.app.service.system.SysLoginService;
import com.jomalls.custom.app.utils.BeanMapper; import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.vo.*; import com.jomalls.custom.app.vo.system.*;
import com.jomalls.custom.dal.entity.SysMenuEntity; import com.jomalls.custom.dal.entity.SysMenuEntity;
import com.jomalls.custom.dal.entity.SysUserEntity; import com.jomalls.custom.dal.entity.SysUserEntity;
import com.jomalls.custom.domain.service.system.SysMenuDomainService; import com.jomalls.custom.domain.service.system.SysMenuDomainService;
......
package com.jomalls.custom.app.service.system.impl; package com.jomalls.custom.app.service.system.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jomalls.custom.app.dto.system.SysMenuSaveDTO;
import com.jomalls.custom.app.dto.system.SysMenuUpdateDTO;
import com.jomalls.custom.app.exception.ServiceException; import com.jomalls.custom.app.exception.ServiceException;
import com.jomalls.custom.app.service.system.SysMenuService; import com.jomalls.custom.app.service.system.SysMenuService;
import com.jomalls.custom.app.vo.TreeSelectVO; import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.vo.system.SysMenuVO;
import com.jomalls.custom.app.vo.system.TreeSelectVO;
import com.jomalls.custom.dal.entity.SysMenuEntity; import com.jomalls.custom.dal.entity.SysMenuEntity;
import com.jomalls.custom.dal.entity.SysRoleMenuEntity; import com.jomalls.custom.dal.entity.SysRoleMenuEntity;
import com.jomalls.custom.domain.service.system.SysMenuDomainService; import com.jomalls.custom.domain.service.system.SysMenuDomainService;
...@@ -30,7 +34,7 @@ public class SysMenuServiceImpl implements SysMenuService { ...@@ -30,7 +34,7 @@ public class SysMenuServiceImpl implements SysMenuService {
private final SysRoleMenuDomainService sysRoleMenuDomainService; private final SysRoleMenuDomainService sysRoleMenuDomainService;
@Override @Override
public List<SysMenuEntity> selectMenuList(SysMenuEntity menu) { public List<SysMenuVO> selectMenuList(SysMenuVO menu) {
LambdaQueryWrapper<SysMenuEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysMenuEntity> wrapper = new LambdaQueryWrapper<>();
if (StringUtils.hasText(menu.getMenuName())) { if (StringUtils.hasText(menu.getMenuName())) {
wrapper.like(SysMenuEntity::getMenuName, menu.getMenuName()); wrapper.like(SysMenuEntity::getMenuName, menu.getMenuName());
...@@ -40,12 +44,14 @@ public class SysMenuServiceImpl implements SysMenuService { ...@@ -40,12 +44,14 @@ public class SysMenuServiceImpl implements SysMenuService {
} }
wrapper.eq(SysMenuEntity::getDelFlag, "0"); wrapper.eq(SysMenuEntity::getDelFlag, "0");
wrapper.orderByAsc(SysMenuEntity::getParentId, SysMenuEntity::getOrderNum); wrapper.orderByAsc(SysMenuEntity::getParentId, SysMenuEntity::getOrderNum);
return sysMenuDomainService.list(wrapper); List<SysMenuEntity> entities = sysMenuDomainService.list(wrapper);
return BeanMapper.mapper().convertList(entities, SysMenuVO.class);
} }
@Override @Override
public SysMenuEntity getById(Long menuId) { public SysMenuVO getById(Long menuId) {
return sysMenuDomainService.getById(menuId); SysMenuEntity entity = sysMenuDomainService.getById(menuId);
return BeanMapper.mapper().convert(entity, SysMenuVO.class);
} }
@Override @Override
...@@ -73,14 +79,16 @@ public class SysMenuServiceImpl implements SysMenuService { ...@@ -73,14 +79,16 @@ public class SysMenuServiceImpl implements SysMenuService {
} }
@Override @Override
public void add(SysMenuEntity menu) { public void add(SysMenuSaveDTO dto) {
SysMenuEntity menu = BeanMapper.mapper().convert(dto, SysMenuEntity.class);
menu.setCreateTime(new Date()); menu.setCreateTime(new Date());
sysMenuDomainService.save(menu); sysMenuDomainService.save(menu);
log.info("新增菜单成功: menuName={}", menu.getMenuName()); log.info("新增菜单成功: menuName={}", menu.getMenuName());
} }
@Override @Override
public void edit(SysMenuEntity menu) { public void edit(SysMenuUpdateDTO dto) {
SysMenuEntity menu = BeanMapper.mapper().convert(dto, SysMenuEntity.class);
menu.setUpdateTime(new Date()); menu.setUpdateTime(new Date());
sysMenuDomainService.updateById(menu); sysMenuDomainService.updateById(menu);
log.info("修改菜单成功: menuId={}", menu.getMenuId()); log.info("修改菜单成功: menuId={}", menu.getMenuId());
......
...@@ -3,8 +3,12 @@ package com.jomalls.custom.app.service.system.impl; ...@@ -3,8 +3,12 @@ package com.jomalls.custom.app.service.system.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.dto.system.SysPostSaveDTO;
import com.jomalls.custom.app.dto.system.SysPostUpdateDTO;
import com.jomalls.custom.app.exception.ServiceException; import com.jomalls.custom.app.exception.ServiceException;
import com.jomalls.custom.app.service.system.SysPostService; import com.jomalls.custom.app.service.system.SysPostService;
import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.vo.system.SysPostVO;
import com.jomalls.custom.dal.entity.SysPostEntity; import com.jomalls.custom.dal.entity.SysPostEntity;
import com.jomalls.custom.domain.service.system.SysPostDomainService; import com.jomalls.custom.domain.service.system.SysPostDomainService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -25,7 +29,7 @@ public class SysPostServiceImpl implements SysPostService { ...@@ -25,7 +29,7 @@ public class SysPostServiceImpl implements SysPostService {
private final SysPostDomainService sysPostDomainService; private final SysPostDomainService sysPostDomainService;
@Override @Override
public IPage<SysPostEntity> pageList(SysPostEntity post, Page<SysPostEntity> page) { public IPage<SysPostVO> pageList(SysPostVO post, Page<SysPostVO> page) {
LambdaQueryWrapper<SysPostEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysPostEntity> wrapper = new LambdaQueryWrapper<>();
if (StringUtils.hasText(post.getPostCode())) { if (StringUtils.hasText(post.getPostCode())) {
wrapper.like(SysPostEntity::getPostCode, post.getPostCode()); wrapper.like(SysPostEntity::getPostCode, post.getPostCode());
...@@ -37,16 +41,23 @@ public class SysPostServiceImpl implements SysPostService { ...@@ -37,16 +41,23 @@ public class SysPostServiceImpl implements SysPostService {
wrapper.eq(SysPostEntity::getStatus, post.getStatus()); wrapper.eq(SysPostEntity::getStatus, post.getStatus());
} }
wrapper.orderByAsc(SysPostEntity::getPostSort); wrapper.orderByAsc(SysPostEntity::getPostSort);
return sysPostDomainService.page(page, wrapper); IPage<SysPostEntity> entityPage = sysPostDomainService.page(
new Page<>(page.getCurrent(), page.getSize()), wrapper);
// Entity → VO 转换
IPage<SysPostVO> voPage = new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal());
voPage.setRecords(BeanMapper.mapper().convertList(entityPage.getRecords(), SysPostVO.class));
return voPage;
} }
@Override @Override
public SysPostEntity getById(Long postId) { public SysPostVO getById(Long postId) {
return sysPostDomainService.getById(postId); SysPostEntity entity = sysPostDomainService.getById(postId);
return BeanMapper.mapper().convert(entity, SysPostVO.class);
} }
@Override @Override
public void add(SysPostEntity post) { public void add(SysPostSaveDTO dto) {
SysPostEntity post = BeanMapper.mapper().convert(dto, SysPostEntity.class);
// 检查岗位编码唯一性 // 检查岗位编码唯一性
long count = sysPostDomainService.count( long count = sysPostDomainService.count(
new LambdaQueryWrapper<SysPostEntity>().eq(SysPostEntity::getPostCode, post.getPostCode())); new LambdaQueryWrapper<SysPostEntity>().eq(SysPostEntity::getPostCode, post.getPostCode()));
...@@ -60,7 +71,8 @@ public class SysPostServiceImpl implements SysPostService { ...@@ -60,7 +71,8 @@ public class SysPostServiceImpl implements SysPostService {
} }
@Override @Override
public void edit(SysPostEntity post) { public void edit(SysPostUpdateDTO dto) {
SysPostEntity post = BeanMapper.mapper().convert(dto, SysPostEntity.class);
// 检查岗位编码唯一性(排除自身) // 检查岗位编码唯一性(排除自身)
long count = sysPostDomainService.count( long count = sysPostDomainService.count(
new LambdaQueryWrapper<SysPostEntity>() new LambdaQueryWrapper<SysPostEntity>()
......
...@@ -3,8 +3,16 @@ package com.jomalls.custom.app.service.system.impl; ...@@ -3,8 +3,16 @@ package com.jomalls.custom.app.service.system.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.dto.system.SysRoleDataScopeDTO;
import com.jomalls.custom.app.dto.system.SysRoleSaveDTO;
import com.jomalls.custom.app.dto.system.SysRoleStatusDTO;
import com.jomalls.custom.app.dto.system.SysRoleUpdateDTO;
import com.jomalls.custom.app.exception.ServiceException; import com.jomalls.custom.app.exception.ServiceException;
import com.jomalls.custom.app.service.system.SysRoleService; import com.jomalls.custom.app.service.system.SysRoleService;
import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.vo.system.SysDeptVO;
import com.jomalls.custom.app.vo.system.SysRoleVO;
import com.jomalls.custom.app.vo.system.SysUserVO;
import com.jomalls.custom.dal.entity.*; import com.jomalls.custom.dal.entity.*;
import com.jomalls.custom.domain.service.system.*; import com.jomalls.custom.domain.service.system.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -33,7 +41,7 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -33,7 +41,7 @@ public class SysRoleServiceImpl implements SysRoleService {
private final SysDeptDomainService sysDeptDomainService; private final SysDeptDomainService sysDeptDomainService;
@Override @Override
public IPage<SysRoleEntity> pageList(SysRoleEntity role, Page<SysRoleEntity> page) { public IPage<SysRoleVO> pageList(SysRoleVO role, Page<SysRoleVO> page) {
LambdaQueryWrapper<SysRoleEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysRoleEntity> wrapper = new LambdaQueryWrapper<>();
if (StringUtils.hasText(role.getRoleName())) { if (StringUtils.hasText(role.getRoleName())) {
wrapper.like(SysRoleEntity::getRoleName, role.getRoleName()); wrapper.like(SysRoleEntity::getRoleName, role.getRoleName());
...@@ -46,16 +54,23 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -46,16 +54,23 @@ public class SysRoleServiceImpl implements SysRoleService {
} }
wrapper.eq(SysRoleEntity::getDelFlag, "0"); wrapper.eq(SysRoleEntity::getDelFlag, "0");
wrapper.orderByAsc(SysRoleEntity::getRoleSort); wrapper.orderByAsc(SysRoleEntity::getRoleSort);
return sysRoleDomainService.page(page, wrapper); IPage<SysRoleEntity> entityPage = sysRoleDomainService.page(
new Page<>(page.getCurrent(), page.getSize()), wrapper);
// Entity → VO 转换
IPage<SysRoleVO> voPage = new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal());
voPage.setRecords(BeanMapper.mapper().convertList(entityPage.getRecords(), SysRoleVO.class));
return voPage;
} }
@Override @Override
public SysRoleEntity getById(Long roleId) { public SysRoleVO getById(Long roleId) {
return sysRoleDomainService.getById(roleId); SysRoleEntity entity = sysRoleDomainService.getById(roleId);
return BeanMapper.mapper().convert(entity, SysRoleVO.class);
} }
@Override @Override
public void add(SysRoleEntity role) { public void add(SysRoleSaveDTO dto) {
SysRoleEntity role = BeanMapper.mapper().convert(dto, SysRoleEntity.class);
// 检查角色名称唯一性 // 检查角色名称唯一性
long countByName = sysRoleDomainService.count( long countByName = sysRoleDomainService.count(
new LambdaQueryWrapper<SysRoleEntity>().eq(SysRoleEntity::getRoleName, role.getRoleName())); new LambdaQueryWrapper<SysRoleEntity>().eq(SysRoleEntity::getRoleName, role.getRoleName()));
...@@ -73,8 +88,8 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -73,8 +88,8 @@ public class SysRoleServiceImpl implements SysRoleService {
sysRoleDomainService.save(role); sysRoleDomainService.save(role);
Long roleId = role.getRoleId(); Long roleId = role.getRoleId();
// 保存角色菜单关联 // 保存角色菜单关联
if (role.getMenuIds() != null) { if (dto.getMenuIds() != null) {
for (Long menuId : role.getMenuIds()) { for (Long menuId : dto.getMenuIds()) {
SysRoleMenuEntity roleMenu = new SysRoleMenuEntity(); SysRoleMenuEntity roleMenu = new SysRoleMenuEntity();
roleMenu.setRoleId(roleId); roleMenu.setRoleId(roleId);
roleMenu.setMenuId(menuId); roleMenu.setMenuId(menuId);
...@@ -85,7 +100,8 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -85,7 +100,8 @@ public class SysRoleServiceImpl implements SysRoleService {
} }
@Override @Override
public void edit(SysRoleEntity role) { public void edit(SysRoleUpdateDTO dto) {
SysRoleEntity role = BeanMapper.mapper().convert(dto, SysRoleEntity.class);
// 检查角色名称唯一性(排除自身) // 检查角色名称唯一性(排除自身)
long countByName = sysRoleDomainService.count( long countByName = sysRoleDomainService.count(
new LambdaQueryWrapper<SysRoleEntity>() new LambdaQueryWrapper<SysRoleEntity>()
...@@ -106,10 +122,10 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -106,10 +122,10 @@ public class SysRoleServiceImpl implements SysRoleService {
// 更新角色 // 更新角色
sysRoleDomainService.updateById(role); sysRoleDomainService.updateById(role);
// 同步角色菜单关联 // 同步角色菜单关联
if (role.getMenuIds() != null) { if (dto.getMenuIds() != null) {
sysRoleMenuDomainService.remove( sysRoleMenuDomainService.remove(
new LambdaQueryWrapper<SysRoleMenuEntity>().eq(SysRoleMenuEntity::getRoleId, role.getRoleId())); new LambdaQueryWrapper<SysRoleMenuEntity>().eq(SysRoleMenuEntity::getRoleId, role.getRoleId()));
for (Long menuId : role.getMenuIds()) { for (Long menuId : dto.getMenuIds()) {
SysRoleMenuEntity roleMenu = new SysRoleMenuEntity(); SysRoleMenuEntity roleMenu = new SysRoleMenuEntity();
roleMenu.setRoleId(role.getRoleId()); roleMenu.setRoleId(role.getRoleId());
roleMenu.setMenuId(menuId); roleMenu.setMenuId(menuId);
...@@ -120,33 +136,36 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -120,33 +136,36 @@ public class SysRoleServiceImpl implements SysRoleService {
} }
@Override @Override
public void dataScope(SysRoleEntity role) { public void dataScope(SysRoleDataScopeDTO dto) {
SysRoleEntity role = new SysRoleEntity();
role.setRoleId(dto.getRoleId());
role.setDataScope(dto.getDataScope());
// 更新角色信息 // 更新角色信息
sysRoleDomainService.updateById(role); sysRoleDomainService.updateById(role);
// 删除旧的部门关联 // 删除旧的部门关联
sysRoleDeptDomainService.remove( sysRoleDeptDomainService.remove(
new LambdaQueryWrapper<SysRoleDeptEntity>().eq(SysRoleDeptEntity::getRoleId, role.getRoleId())); new LambdaQueryWrapper<SysRoleDeptEntity>().eq(SysRoleDeptEntity::getRoleId, role.getRoleId()));
// 插入新的部门关联 // 插入新的部门关联
if (role.getDeptIds() != null) { if (dto.getDeptIds() != null) {
for (Long deptId : role.getDeptIds()) { for (Long deptId : dto.getDeptIds()) {
SysRoleDeptEntity roleDept = new SysRoleDeptEntity(); SysRoleDeptEntity roleDept = new SysRoleDeptEntity();
roleDept.setRoleId(role.getRoleId()); roleDept.setRoleId(role.getRoleId());
roleDept.setDeptId(deptId); roleDept.setDeptId(deptId);
sysRoleDeptDomainService.save(roleDept); sysRoleDeptDomainService.save(roleDept);
} }
} }
log.info("角色数据权限已更新: roleId={}", role.getRoleId()); log.info("角色数据权限已更新: roleId={}", dto.getRoleId());
} }
@Override @Override
public void changeStatus(Long roleId, String status) { public void changeStatus(SysRoleStatusDTO dto) {
SysRoleEntity role = sysRoleDomainService.getById(roleId); SysRoleEntity role = sysRoleDomainService.getById(dto.getRoleId());
if (role == null) { if (role == null) {
throw new ServiceException("角色不存在"); throw new ServiceException("角色不存在");
} }
role.setStatus(status); role.setStatus(dto.getStatus());
sysRoleDomainService.updateById(role); sysRoleDomainService.updateById(role);
log.info("角色状态已修改: roleId={}, status={}", roleId, status); log.info("角色状态已修改: roleId={}, status={}", dto.getRoleId(), dto.getStatus());
} }
@Override @Override
...@@ -168,15 +187,12 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -168,15 +187,12 @@ public class SysRoleServiceImpl implements SysRoleService {
} }
@Override @Override
public IPage<SysUserEntity> allocatedList(SysUserEntity user, Page<SysUserEntity> page) { public IPage<SysUserVO> allocatedList(SysUserVO user, Page<SysUserVO> page) {
Long roleId = user.getRoleId();
if (roleId == null) {
return new Page<>(page.getCurrent(), page.getSize());
}
// 使用子查询筛选已分配指定角色的用户
LambdaQueryWrapper<SysUserEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.inSql(SysUserEntity::getUserId, if (user.getRoleId() != null) {
"SELECT user_id FROM sys_user_role WHERE role_id = " + roleId); wrapper.inSql(SysUserEntity::getUserId,
"SELECT user_id FROM sys_user_role WHERE role_id = " + user.getRoleId());
}
if (StringUtils.hasText(user.getUserName())) { if (StringUtils.hasText(user.getUserName())) {
wrapper.like(SysUserEntity::getUserName, user.getUserName()); wrapper.like(SysUserEntity::getUserName, user.getUserName());
} }
...@@ -184,18 +200,20 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -184,18 +200,20 @@ public class SysRoleServiceImpl implements SysRoleService {
wrapper.like(SysUserEntity::getPhonenumber, user.getPhonenumber()); wrapper.like(SysUserEntity::getPhonenumber, user.getPhonenumber());
} }
wrapper.eq(SysUserEntity::getDelFlag, "0"); wrapper.eq(SysUserEntity::getDelFlag, "0");
return sysUserDomainService.page(page, wrapper); IPage<SysUserEntity> entityPage = sysUserDomainService.page(
new Page<>(page.getCurrent(), page.getSize()), wrapper);
// Entity → VO 转换
IPage<SysUserVO> voPage = new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal());
voPage.setRecords(BeanMapper.mapper().convertList(entityPage.getRecords(), SysUserVO.class));
return voPage;
} }
@Override @Override
public IPage<SysUserEntity> unallocatedList(SysUserEntity user, Page<SysUserEntity> page) { public IPage<SysUserVO> unallocatedList(SysUserVO user, Page<SysUserVO> page) {
Long roleId = user.getRoleId();
if (roleId == null) {
return new Page<>(page.getCurrent(), page.getSize());
}
// 使用子查询筛选未分配指定角色的用户
LambdaQueryWrapper<SysUserEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.apply("user_id NOT IN (SELECT user_id FROM sys_user_role WHERE role_id = {0})", roleId); if (user.getRoleId() != null) {
wrapper.apply("user_id NOT IN (SELECT user_id FROM sys_user_role WHERE role_id = {0})", user.getRoleId());
}
if (StringUtils.hasText(user.getUserName())) { if (StringUtils.hasText(user.getUserName())) {
wrapper.like(SysUserEntity::getUserName, user.getUserName()); wrapper.like(SysUserEntity::getUserName, user.getUserName());
} }
...@@ -203,7 +221,12 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -203,7 +221,12 @@ public class SysRoleServiceImpl implements SysRoleService {
wrapper.like(SysUserEntity::getPhonenumber, user.getPhonenumber()); wrapper.like(SysUserEntity::getPhonenumber, user.getPhonenumber());
} }
wrapper.eq(SysUserEntity::getDelFlag, "0"); wrapper.eq(SysUserEntity::getDelFlag, "0");
return sysUserDomainService.page(page, wrapper); IPage<SysUserEntity> entityPage = sysUserDomainService.page(
new Page<>(page.getCurrent(), page.getSize()), wrapper);
// Entity → VO 转换
IPage<SysUserVO> voPage = new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal());
voPage.setRecords(BeanMapper.mapper().convertList(entityPage.getRecords(), SysUserVO.class));
return voPage;
} }
@Override @Override
...@@ -245,9 +268,10 @@ public class SysRoleServiceImpl implements SysRoleService { ...@@ -245,9 +268,10 @@ public class SysRoleServiceImpl implements SysRoleService {
} }
@Override @Override
public List<SysDeptEntity> deptTree(Long roleId) { public List<SysDeptVO> deptTree(Long roleId) {
// 查询全部部门 // 查询全部部门
List<SysDeptEntity> allDepts = sysDeptDomainService.selectDeptList(new SysDeptEntity()); List<SysDeptEntity> allDepts = sysDeptDomainService.selectDeptList(new SysDeptEntity());
return sysDeptDomainService.buildDeptTree(allDepts); List<SysDeptEntity> tree = sysDeptDomainService.buildDeptTree(allDepts);
return BeanMapper.mapper().convertList(tree, SysDeptVO.class);
} }
} }
...@@ -3,8 +3,12 @@ package com.jomalls.custom.app.service.system.impl; ...@@ -3,8 +3,12 @@ package com.jomalls.custom.app.service.system.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.dto.system.*;
import com.jomalls.custom.app.exception.ServiceException; import com.jomalls.custom.app.exception.ServiceException;
import com.jomalls.custom.app.service.system.SysUserService; import com.jomalls.custom.app.service.system.SysUserService;
import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.vo.system.SysDeptVO;
import com.jomalls.custom.app.vo.system.SysUserVO;
import com.jomalls.custom.dal.entity.*; import com.jomalls.custom.dal.entity.*;
import com.jomalls.custom.domain.service.system.*; import com.jomalls.custom.domain.service.system.*;
import com.jomalls.custom.security.LoginUser; import com.jomalls.custom.security.LoginUser;
...@@ -36,7 +40,7 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -36,7 +40,7 @@ public class SysUserServiceImpl implements SysUserService {
private final PasswordEncoder passwordEncoder; private final PasswordEncoder passwordEncoder;
@Override @Override
public IPage<SysUserEntity> pageList(SysUserEntity user, Page<SysUserEntity> page) { public IPage<SysUserVO> pageList(SysUserVO user, Page<SysUserVO> page) {
LambdaQueryWrapper<SysUserEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUserEntity> wrapper = new LambdaQueryWrapper<>();
if (StringUtils.hasText(user.getUserName())) { if (StringUtils.hasText(user.getUserName())) {
wrapper.like(SysUserEntity::getUserName, user.getUserName()); wrapper.like(SysUserEntity::getUserName, user.getUserName());
...@@ -52,7 +56,12 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -52,7 +56,12 @@ public class SysUserServiceImpl implements SysUserService {
} }
wrapper.eq(SysUserEntity::getDelFlag, "0"); wrapper.eq(SysUserEntity::getDelFlag, "0");
wrapper.orderByAsc(SysUserEntity::getUserId); wrapper.orderByAsc(SysUserEntity::getUserId);
return sysUserDomainService.page(page, wrapper); IPage<SysUserEntity> entityPage = sysUserDomainService.page(
new Page<>(page.getCurrent(), page.getSize()), wrapper);
// Entity → VO 转换
IPage<SysUserVO> voPage = new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal());
voPage.setRecords(BeanMapper.mapper().convertList(entityPage.getRecords(), SysUserVO.class));
return voPage;
} }
@Override @Override
...@@ -61,6 +70,8 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -61,6 +70,8 @@ public class SysUserServiceImpl implements SysUserService {
if (user == null) { if (user == null) {
throw new ServiceException("用户不存在"); throw new ServiceException("用户不存在");
} }
// Entity → VO
SysUserVO userVO = BeanMapper.mapper().convert(user, SysUserVO.class);
// 查询角色列表 // 查询角色列表
List<SysRoleEntity> roles = sysRoleDomainService.selectRoleListByUserId(userId); List<SysRoleEntity> roles = sysRoleDomainService.selectRoleListByUserId(userId);
// 查询岗位ID列表 // 查询岗位ID列表
...@@ -71,14 +82,16 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -71,14 +82,16 @@ public class SysUserServiceImpl implements SysUserService {
.collect(Collectors.toList()); .collect(Collectors.toList());
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
result.put("user", user); result.put("user", userVO);
result.put("roles", roles != null ? roles : Collections.emptyList()); result.put("roles", roles != null ? roles : Collections.emptyList());
result.put("postIds", postIds); result.put("postIds", postIds);
return result; return result;
} }
@Override @Override
public void add(SysUserEntity user) { public void add(SysUserSaveDTO dto) {
// DTO → Entity
SysUserEntity user = BeanMapper.mapper().convert(dto, SysUserEntity.class);
// 检查用户名唯一性 // 检查用户名唯一性
long count = sysUserDomainService.count( long count = sysUserDomainService.count(
new LambdaQueryWrapper<SysUserEntity>().eq(SysUserEntity::getUserName, user.getUserName())); new LambdaQueryWrapper<SysUserEntity>().eq(SysUserEntity::getUserName, user.getUserName()));
...@@ -93,8 +106,8 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -93,8 +106,8 @@ public class SysUserServiceImpl implements SysUserService {
sysUserDomainService.save(user); sysUserDomainService.save(user);
Long userId = user.getUserId(); Long userId = user.getUserId();
// 保存用户角色关联 // 保存用户角色关联
if (user.getRoleIds() != null) { if (dto.getRoleIds() != null) {
for (Long roleId : user.getRoleIds()) { for (Long roleId : dto.getRoleIds()) {
SysUserRoleEntity userRole = new SysUserRoleEntity(); SysUserRoleEntity userRole = new SysUserRoleEntity();
userRole.setUserId(userId); userRole.setUserId(userId);
userRole.setRoleId(roleId); userRole.setRoleId(roleId);
...@@ -102,8 +115,8 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -102,8 +115,8 @@ public class SysUserServiceImpl implements SysUserService {
} }
} }
// 保存用户岗位关联 // 保存用户岗位关联
if (user.getPostIds() != null) { if (dto.getPostIds() != null) {
for (Long postId : user.getPostIds()) { for (Long postId : dto.getPostIds()) {
SysUserPostEntity userPost = new SysUserPostEntity(); SysUserPostEntity userPost = new SysUserPostEntity();
userPost.setUserId(userId); userPost.setUserId(userId);
userPost.setPostId(postId); userPost.setPostId(postId);
...@@ -114,21 +127,23 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -114,21 +127,23 @@ public class SysUserServiceImpl implements SysUserService {
} }
@Override @Override
public void edit(SysUserEntity user) { public void edit(SysUserUpdateDTO dto) {
// 检查用户是否存在 // 检查用户是否存在
SysUserEntity existing = sysUserDomainService.getById(user.getUserId()); SysUserEntity existing = sysUserDomainService.getById(dto.getUserId());
if (existing == null) { if (existing == null) {
throw new ServiceException("用户不存在"); throw new ServiceException("用户不存在");
} }
// DTO → Entity
SysUserEntity user = BeanMapper.mapper().convert(dto, SysUserEntity.class);
// 更新用户信息 // 更新用户信息
user.setUpdateBy(SecurityUtils.getUsername()); user.setUpdateBy(SecurityUtils.getUsername());
user.setUpdateTime(new Date()); user.setUpdateTime(new Date());
sysUserDomainService.updateById(user); sysUserDomainService.updateById(user);
// 同步角色关联 // 同步角色关联
if (user.getRoleIds() != null) { if (dto.getRoleIds() != null) {
sysUserRoleDomainService.remove( sysUserRoleDomainService.remove(
new LambdaQueryWrapper<SysUserRoleEntity>().eq(SysUserRoleEntity::getUserId, user.getUserId())); new LambdaQueryWrapper<SysUserRoleEntity>().eq(SysUserRoleEntity::getUserId, user.getUserId()));
for (Long roleId : user.getRoleIds()) { for (Long roleId : dto.getRoleIds()) {
SysUserRoleEntity userRole = new SysUserRoleEntity(); SysUserRoleEntity userRole = new SysUserRoleEntity();
userRole.setUserId(user.getUserId()); userRole.setUserId(user.getUserId());
userRole.setRoleId(roleId); userRole.setRoleId(roleId);
...@@ -136,10 +151,10 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -136,10 +151,10 @@ public class SysUserServiceImpl implements SysUserService {
} }
} }
// 同步岗位关联 // 同步岗位关联
if (user.getPostIds() != null) { if (dto.getPostIds() != null) {
sysUserPostDomainService.remove( sysUserPostDomainService.remove(
new LambdaQueryWrapper<SysUserPostEntity>().eq(SysUserPostEntity::getUserId, user.getUserId())); new LambdaQueryWrapper<SysUserPostEntity>().eq(SysUserPostEntity::getUserId, user.getUserId()));
for (Long postId : user.getPostIds()) { for (Long postId : dto.getPostIds()) {
SysUserPostEntity userPost = new SysUserPostEntity(); SysUserPostEntity userPost = new SysUserPostEntity();
userPost.setUserId(user.getUserId()); userPost.setUserId(user.getUserId());
userPost.setPostId(postId); userPost.setPostId(postId);
...@@ -163,50 +178,52 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -163,50 +178,52 @@ public class SysUserServiceImpl implements SysUserService {
} }
@Override @Override
public void resetPwd(Long userId, String password) { public void resetPwd(SysUserResetPwdDTO dto) {
SysUserEntity user = sysUserDomainService.getById(userId); SysUserEntity user = sysUserDomainService.getById(dto.getUserId());
if (user == null) { if (user == null) {
throw new ServiceException("用户不存在"); throw new ServiceException("用户不存在");
} }
user.setPassword(passwordEncoder.encode(password)); user.setPassword(passwordEncoder.encode(dto.getPassword()));
sysUserDomainService.updateById(user); sysUserDomainService.updateById(user);
log.info("用户密码已重置: userId={}", userId); log.info("用户密码已重置: userId={}", dto.getUserId());
} }
@Override @Override
public void changeStatus(Long userId, String status) { public void changeStatus(SysUserChangeStatusDTO dto) {
SysUserEntity user = sysUserDomainService.getById(userId); SysUserEntity user = sysUserDomainService.getById(dto.getUserId());
if (user == null) { if (user == null) {
throw new ServiceException("用户不存在"); throw new ServiceException("用户不存在");
} }
user.setStatus(status); user.setStatus(dto.getStatus());
sysUserDomainService.updateById(user); sysUserDomainService.updateById(user);
log.info("用户状态已修改: userId={}, status={}", userId, status); log.info("用户状态已修改: userId={}, status={}", dto.getUserId(), dto.getStatus());
} }
@Override @Override
public SysUserEntity getProfile() { public SysUserVO getProfile() {
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser == null) { if (loginUser == null) {
throw new ServiceException("未登录"); throw new ServiceException("未登录");
} }
return sysUserDomainService.getById(loginUser.getUserId()); SysUserEntity user = sysUserDomainService.getById(loginUser.getUserId());
return BeanMapper.mapper().convert(user, SysUserVO.class);
} }
@Override @Override
public void updateProfile(SysUserEntity user) { public void updateProfile(SysUserVO user) {
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser == null) { if (loginUser == null) {
throw new ServiceException("未登录"); throw new ServiceException("未登录");
} }
user.setUserId(loginUser.getUserId()); SysUserEntity entity = BeanMapper.mapper().convert(user, SysUserEntity.class);
user.setUpdateBy(loginUser.getUsername()); entity.setUserId(loginUser.getUserId());
sysUserDomainService.updateById(user); entity.setUpdateBy(loginUser.getUsername());
sysUserDomainService.updateById(entity);
log.info("用户信息已更新: userId={}", loginUser.getUserId()); log.info("用户信息已更新: userId={}", loginUser.getUserId());
} }
@Override @Override
public void updatePwd(String oldPassword, String newPassword) { public void updatePwd(SysUserUpdatePwdDTO dto) {
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser == null) { if (loginUser == null) {
throw new ServiceException("未登录"); throw new ServiceException("未登录");
...@@ -216,10 +233,10 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -216,10 +233,10 @@ public class SysUserServiceImpl implements SysUserService {
throw new ServiceException("用户不存在"); throw new ServiceException("用户不存在");
} }
// 验证旧密码 // 验证旧密码
if (!passwordEncoder.matches(oldPassword, user.getPassword())) { if (!passwordEncoder.matches(dto.getOldPassword(), user.getPassword())) {
throw new ServiceException("旧密码错误"); throw new ServiceException("旧密码错误");
} }
user.setPassword(passwordEncoder.encode(newPassword)); user.setPassword(passwordEncoder.encode(dto.getNewPassword()));
sysUserDomainService.updateById(user); sysUserDomainService.updateById(user);
log.info("用户密码已修改: userId={}", loginUser.getUserId()); log.info("用户密码已修改: userId={}", loginUser.getUserId());
} }
...@@ -249,8 +266,9 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -249,8 +266,9 @@ public class SysUserServiceImpl implements SysUserService {
} }
@Override @Override
public List<SysDeptEntity> deptTree() { public List<SysDeptVO> deptTree() {
List<SysDeptEntity> allDepts = sysDeptDomainService.selectDeptList(new SysDeptEntity()); List<SysDeptEntity> allDepts = sysDeptDomainService.selectDeptList(new SysDeptEntity());
return sysDeptDomainService.buildDeptTree(allDepts); List<SysDeptEntity> tree = sysDeptDomainService.buildDeptTree(allDepts);
return BeanMapper.mapper().convertList(tree, SysDeptVO.class);
} }
} }
...@@ -2,7 +2,9 @@ package com.jomalls.custom.app.service.warehouse; ...@@ -2,7 +2,9 @@ package com.jomalls.custom.app.service.warehouse;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.dal.entity.CustomWarehouseInfoEntity; import com.jomalls.custom.app.dto.warehouse.CustomWarehouseInfoSaveDTO;
import com.jomalls.custom.app.dto.warehouse.CustomWarehouseInfoUpdateDTO;
import com.jomalls.custom.app.vo.warehouse.CustomWarehouseInfoSnakeVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -21,7 +23,7 @@ public interface CustomWarehouseInfoService { ...@@ -21,7 +23,7 @@ public interface CustomWarehouseInfoService {
* @param page 分页参数 * @param page 分页参数
* @return 分页结果 * @return 分页结果
*/ */
IPage<CustomWarehouseInfoEntity> pageList(CustomWarehouseInfoEntity entity, Page<CustomWarehouseInfoEntity> page); IPage<CustomWarehouseInfoSnakeVO> pageList(CustomWarehouseInfoSnakeVO entity, Page<CustomWarehouseInfoSnakeVO> page);
/** /**
* 获取仓库状态列表 * 获取仓库状态列表
...@@ -33,16 +35,16 @@ public interface CustomWarehouseInfoService { ...@@ -33,16 +35,16 @@ public interface CustomWarehouseInfoService {
/** /**
* 新增仓库 * 新增仓库
* *
* @param entity 仓库信息 * @param dto 新增仓库请求
*/ */
void add(CustomWarehouseInfoEntity entity); void add(CustomWarehouseInfoSaveDTO dto);
/** /**
* 修改仓库 * 修改仓库
* *
* @param entity 仓库信息 * @param dto 修改仓库请求
*/ */
void edit(CustomWarehouseInfoEntity entity); void edit(CustomWarehouseInfoUpdateDTO dto);
/** /**
* 删除仓库(支持批量,逗号分隔 ID) * 删除仓库(支持批量,逗号分隔 ID)
......
...@@ -3,7 +3,11 @@ package com.jomalls.custom.app.service.warehouse.impl; ...@@ -3,7 +3,11 @@ package com.jomalls.custom.app.service.warehouse.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.dto.warehouse.CustomWarehouseInfoSaveDTO;
import com.jomalls.custom.app.dto.warehouse.CustomWarehouseInfoUpdateDTO;
import com.jomalls.custom.app.service.warehouse.CustomWarehouseInfoService; import com.jomalls.custom.app.service.warehouse.CustomWarehouseInfoService;
import com.jomalls.custom.app.utils.BeanMapper;
import com.jomalls.custom.app.vo.warehouse.CustomWarehouseInfoSnakeVO;
import com.jomalls.custom.dal.entity.CustomWarehouseInfoEntity; import com.jomalls.custom.dal.entity.CustomWarehouseInfoEntity;
import com.jomalls.custom.domain.service.warehouse.CustomWarehouseInfoDomainService; import com.jomalls.custom.domain.service.warehouse.CustomWarehouseInfoDomainService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -31,15 +35,15 @@ public class CustomWarehouseInfoServiceImpl implements CustomWarehouseInfoServic ...@@ -31,15 +35,15 @@ public class CustomWarehouseInfoServiceImpl implements CustomWarehouseInfoServic
private final CustomWarehouseInfoDomainService customWarehouseInfoDomainService; private final CustomWarehouseInfoDomainService customWarehouseInfoDomainService;
@Override @Override
public IPage<CustomWarehouseInfoEntity> pageList(CustomWarehouseInfoEntity entity, Page<CustomWarehouseInfoEntity> page) { public IPage<CustomWarehouseInfoSnakeVO> pageList(CustomWarehouseInfoSnakeVO entity, Page<CustomWarehouseInfoSnakeVO> page) {
LambdaQueryWrapper<CustomWarehouseInfoEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CustomWarehouseInfoEntity> wrapper = new LambdaQueryWrapper<>();
// 按仓库名称模糊搜索 // 按仓库名称模糊搜索
if (StringUtils.hasText(entity.getWarehouseName())) { if (StringUtils.hasText(entity.getWarehouse_name())) {
wrapper.like(CustomWarehouseInfoEntity::getWarehouseName, entity.getWarehouseName()); wrapper.like(CustomWarehouseInfoEntity::getWarehouseName, entity.getWarehouse_name());
} }
// 按仓库编码模糊搜索 // 按仓库编码模糊搜索
if (StringUtils.hasText(entity.getWarehouseCode())) { if (StringUtils.hasText(entity.getWarehouse_code())) {
wrapper.like(CustomWarehouseInfoEntity::getWarehouseCode, entity.getWarehouseCode()); wrapper.like(CustomWarehouseInfoEntity::getWarehouseCode, entity.getWarehouse_code());
} }
// 按状态查询 // 按状态查询
if (entity.getStatus() != null) { if (entity.getStatus() != null) {
...@@ -47,7 +51,12 @@ public class CustomWarehouseInfoServiceImpl implements CustomWarehouseInfoServic ...@@ -47,7 +51,12 @@ public class CustomWarehouseInfoServiceImpl implements CustomWarehouseInfoServic
} }
// 按创建时间降序 // 按创建时间降序
wrapper.orderByDesc(CustomWarehouseInfoEntity::getCreateTime); wrapper.orderByDesc(CustomWarehouseInfoEntity::getCreateTime);
return customWarehouseInfoDomainService.page(page, wrapper); IPage<CustomWarehouseInfoEntity> entityPage = customWarehouseInfoDomainService.page(
new Page<>(page.getCurrent(), page.getSize()), wrapper);
// Entity → VO 转换(使用 snakeCase mapper 处理蛇形字段)
IPage<CustomWarehouseInfoSnakeVO> voPage = new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal());
voPage.setRecords(BeanMapper.snakeCase().convertList(entityPage.getRecords(), CustomWarehouseInfoSnakeVO.class));
return voPage;
} }
@Override @Override
...@@ -65,13 +74,15 @@ public class CustomWarehouseInfoServiceImpl implements CustomWarehouseInfoServic ...@@ -65,13 +74,15 @@ public class CustomWarehouseInfoServiceImpl implements CustomWarehouseInfoServic
} }
@Override @Override
public void add(CustomWarehouseInfoEntity entity) { public void add(CustomWarehouseInfoSaveDTO dto) {
CustomWarehouseInfoEntity entity = BeanMapper.mapper().convert(dto, CustomWarehouseInfoEntity.class);
customWarehouseInfoDomainService.save(entity); customWarehouseInfoDomainService.save(entity);
log.info("新增仓库成功: warehouseName={}", entity.getWarehouseName()); log.info("新增仓库成功: warehouseName={}", entity.getWarehouseName());
} }
@Override @Override
public void edit(CustomWarehouseInfoEntity entity) { public void edit(CustomWarehouseInfoUpdateDTO dto) {
CustomWarehouseInfoEntity entity = BeanMapper.mapper().convert(dto, CustomWarehouseInfoEntity.class);
customWarehouseInfoDomainService.updateById(entity); customWarehouseInfoDomainService.updateById(entity);
log.info("修改仓库成功: id={}", entity.getId()); log.info("修改仓库成功: id={}", entity.getId());
} }
......
package com.jomalls.custom.app.vo; package com.jomalls.custom.app.vo;
import com.jomalls.custom.app.vo.warehouse.CustomWarehouseInfoSnakeVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
......
package com.jomalls.custom.app.vo; package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
......
package com.jomalls.custom.app.vo; package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
......
package com.jomalls.custom.app.vo; package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
......
package com.jomalls.custom.app.vo; package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
......
package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
/**
* 组合服务器日志 VO
*
* @author Lizh
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(description = "组合服务器日志信息")
public class SysComposeServerLogVO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@JsonProperty("id")
@Schema(description = "日志ID")
private Long id;
@JsonProperty("composeServerId")
@Schema(description = "关联服务器ID")
private Long composeServerId;
@JsonProperty("batchNumber")
@Schema(description = "批次号")
private String batchNumber;
@JsonProperty("subOrderNumbers")
@Schema(description = "子订单号")
private String subOrderNumbers;
@JsonProperty("status")
@Schema(description = "状态(0失败 1正常)")
private Integer status;
@JsonProperty("post")
@Schema(description = "请求参数")
private String post;
@JsonProperty("result")
@Schema(description = "返回结果")
private String result;
@JsonProperty("costTime")
@Schema(description = "耗时(毫秒)")
private Long costTime;
@JsonProperty("createTime")
@Schema(description = "创建时间")
private String createTime;
@JsonProperty("host")
@Schema(description = "关联服务器主机地址")
private String host;
}
package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
/**
* 组合服务器 VO
*
* @author Lizh
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(description = "组合服务器信息")
public class SysComposeServerVO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@JsonProperty("id")
@Schema(description = "服务器ID")
private Long id;
@JsonProperty("title")
@Schema(description = "服务器名称")
private String title;
@JsonProperty("host")
@Schema(description = "服务器地址")
private String host;
@JsonProperty("remark")
@Schema(description = "备注")
private String remark;
@JsonProperty("status")
@Schema(description = "状态(0停用 1正常)")
private Integer status;
@JsonProperty("createTime")
@Schema(description = "创建时间")
private String createTime;
@JsonProperty("status0Count")
@Schema(description = "失败日志数")
private Long status0Count;
@JsonProperty("status1Count")
@Schema(description = "成功日志数")
private Long status1Count;
}
package com.jomalls.custom.app.vo; package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* 部门 VO * 部门 VO
* *
...@@ -14,6 +16,22 @@ import lombok.Data; ...@@ -14,6 +16,22 @@ import lombok.Data;
public class SysDeptVO { public class SysDeptVO {
@JsonProperty("deptId") @JsonProperty("deptId")
private Long deptId; private Long deptId;
@JsonProperty("parentId")
private Long parentId;
@JsonProperty("deptName") @JsonProperty("deptName")
private String deptName; private String deptName;
@JsonProperty("orderNum")
private Integer orderNum;
@JsonProperty("leader")
private String leader;
@JsonProperty("phone")
private String phone;
@JsonProperty("email")
private String email;
@JsonProperty("status")
private String status;
@JsonProperty("createTime")
private String createTime;
@JsonProperty("children")
private List<SysDeptVO> children;
} }
package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 菜单 VO
*
* @author Lizh
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(description = "菜单信息")
public class SysMenuVO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@JsonProperty("menuId")
@Schema(description = "菜单ID")
private Long menuId;
@JsonProperty("menuName")
@Schema(description = "菜单名称")
private String menuName;
@JsonProperty("parentId")
@Schema(description = "父菜单ID")
private Long parentId;
@JsonProperty("orderNum")
@Schema(description = "排序号")
private Integer orderNum;
@JsonProperty("path")
@Schema(description = "路由地址")
private String path;
@JsonProperty("component")
@Schema(description = "组件路径")
private String component;
@JsonProperty("query")
@Schema(description = "路由参数")
private String query;
@JsonProperty("routeName")
@Schema(description = "路由名称")
private String routeName;
@JsonProperty("isFrame")
@Schema(description = "是否为外链(0是 1否)")
private Integer isFrame;
@JsonProperty("isCache")
@Schema(description = "是否缓存(0缓存 1不缓存)")
private Integer isCache;
@JsonProperty("menuType")
@Schema(description = "菜单类型(M目录 C菜单 F按钮)")
private String menuType;
@JsonProperty("visible")
@Schema(description = "显示状态(0显示 1隐藏)")
private String visible;
@JsonProperty("status")
@Schema(description = "菜单状态(0正常 1停用)")
private String status;
@JsonProperty("perms")
@Schema(description = "权限标识")
private String perms;
@JsonProperty("icon")
@Schema(description = "菜单图标")
private String icon;
@JsonProperty("remark")
@Schema(description = "备注")
private String remark;
@JsonProperty("createTime")
@Schema(description = "创建时间")
private String createTime;
@JsonProperty("children")
@Schema(description = "子菜单列表")
private List<SysMenuVO> children;
}
package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
/**
* 岗位 VO
*
* @author Lizh
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(description = "岗位信息")
public class SysPostVO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@JsonProperty("postId")
@Schema(description = "岗位ID")
private Long postId;
@JsonProperty("postCode")
@Schema(description = "岗位编码")
private String postCode;
@JsonProperty("postName")
@Schema(description = "岗位名称")
private String postName;
@JsonProperty("postSort")
@Schema(description = "排序号")
private Integer postSort;
@JsonProperty("status")
@Schema(description = "状态(0正常 1停用)")
private String status;
@JsonProperty("createTime")
@Schema(description = "创建时间")
private String createTime;
@JsonProperty("remark")
@Schema(description = "备注")
private String remark;
}
package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 角色 VO
*
* @author Lizh
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(description = "角色信息")
public class SysRoleVO implements Serializable {
@Serial private static final long serialVersionUID = 1L;
@JsonProperty("roleId")
@Schema(description = "角色ID")
private Long roleId;
@JsonProperty("roleName")
@Schema(description = "角色名称")
private String roleName;
@JsonProperty("roleKey")
@Schema(description = "角色权限字符串")
private String roleKey;
@JsonProperty("roleSort")
@Schema(description = "排序号")
private Integer roleSort;
@JsonProperty("dataScope")
@Schema(description = "数据权限范围")
private String dataScope;
@JsonProperty("menuCheckStrictly")
@Schema(description = "菜单树选择项是否关联显示")
private Boolean menuCheckStrictly;
@JsonProperty("deptCheckStrictly")
@Schema(description = "部门树选择项是否关联显示")
private Boolean deptCheckStrictly;
@JsonProperty("status")
@Schema(description = "角色状态(0正常 1停用)")
private String status;
@JsonProperty("remark")
@Schema(description = "备注")
private String remark;
@JsonProperty("createTime")
@Schema(description = "创建时间")
private String createTime;
@JsonProperty("menuIds")
@Schema(description = "菜单ID列表")
private Long[] menuIds;
@JsonProperty("deptIds")
@Schema(description = "部门ID列表")
private Long[] deptIds;
}
package com.jomalls.custom.app.vo; package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* 系统用户 VO * 系统用户 VO
* *
...@@ -40,5 +42,7 @@ public class SysUserVO { ...@@ -40,5 +42,7 @@ public class SysUserVO {
private String createTime; private String createTime;
@JsonProperty("remark") @JsonProperty("remark")
private String remark; private String remark;
@JsonProperty("roleId")
private Long roleId;
private SysDeptVO dept; private SysDeptVO dept;
} }
package com.jomalls.custom.app.vo; package com.jomalls.custom.app.vo.system;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
......
package com.jomalls.custom.app.vo; package com.jomalls.custom.app.vo.warehouse;
import com.jomalls.custom.app.vo.CustomProductWarehouseRelSnakeVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
......
package com.jomalls.custom.webapp.controller.system; package com.jomalls.custom.webapp.controller.system;
import com.jomalls.custom.app.service.system.BaseCountryCodeService; import com.jomalls.custom.app.service.system.BaseCountryCodeService;
import com.jomalls.custom.app.vo.BaseCountryCodeVO; import com.jomalls.custom.app.vo.system.BaseCountryCodeVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
......
...@@ -3,19 +3,16 @@ package com.jomalls.custom.webapp.controller.system; ...@@ -3,19 +3,16 @@ package com.jomalls.custom.webapp.controller.system;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.annotation.RequiresPermissions; import com.jomalls.custom.app.annotation.RequiresPermissions;
import com.jomalls.custom.app.dto.system.SysComposeServerSaveDTO;
import com.jomalls.custom.app.dto.system.SysComposeServerUpdateDTO;
import com.jomalls.custom.app.service.system.SysComposeServerService; import com.jomalls.custom.app.service.system.SysComposeServerService;
import com.jomalls.custom.dal.entity.SysComposeServerEntity; import com.jomalls.custom.app.vo.system.SysComposeServerVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
...@@ -37,38 +34,38 @@ public class SysComposeServerController { ...@@ -37,38 +34,38 @@ public class SysComposeServerController {
@Operation(summary = "分页查询服务器列表") @Operation(summary = "分页查询服务器列表")
@RequiresPermissions("system:composeServer:list") @RequiresPermissions("system:composeServer:list")
@PostMapping("/list") @PostMapping("/list")
public R<IPage<SysComposeServerEntity>> list( public R<IPage<SysComposeServerVO>> list(
@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "10") Integer pageSize,
SysComposeServerEntity server) { SysComposeServerVO server) {
Page<SysComposeServerEntity> page = new Page<>(pageNum, pageSize); Page<SysComposeServerVO> page = new Page<>(pageNum, pageSize);
IPage<SysComposeServerEntity> result = sysComposeServerService.pageList(server, page); IPage<SysComposeServerVO> result = sysComposeServerService.pageList(server, page);
return R.ok(result); return R.ok(result);
} }
@Operation(summary = "新增服务器") @Operation(summary = "新增服务器")
@PostMapping("/add") @PostMapping("/add")
public R<Void> add(@RequestBody SysComposeServerEntity server) { public R<Void> add(@RequestBody SysComposeServerSaveDTO dto) {
sysComposeServerService.add(server); sysComposeServerService.add(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改服务器") @Operation(summary = "修改服务器")
@PostMapping("/updateById") @PostMapping("/updateById")
public R<Void> updateById(@RequestBody SysComposeServerEntity server) { public R<Void> updateById(@RequestBody SysComposeServerUpdateDTO dto) {
sysComposeServerService.updateById(server); sysComposeServerService.updateById(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "删除服务器") @Operation(summary = "删除服务器")
@GetMapping("/deleteById") @DeleteMapping("/deleteById")
public R<Void> deleteById(@RequestParam Long id) { public R<Void> deleteById(@RequestParam Long id) {
sysComposeServerService.deleteById(id); sysComposeServerService.deleteById(id);
return R.ok(); return R.ok();
} }
@Operation(summary = "更新服务器状态") @Operation(summary = "更新服务器状态")
@GetMapping("/updateStatusById") @PutMapping("/updateStatusById")
public R<Void> updateStatusById(@RequestParam Long id, @RequestParam Integer status) { public R<Void> updateStatusById(@RequestParam Long id, @RequestParam Integer status) {
sysComposeServerService.updateStatusById(id, status); sysComposeServerService.updateStatusById(id, status);
return R.ok(); return R.ok();
...@@ -76,8 +73,8 @@ public class SysComposeServerController { ...@@ -76,8 +73,8 @@ public class SysComposeServerController {
@Operation(summary = "获取所有启用的服务器主机地址") @Operation(summary = "获取所有启用的服务器主机地址")
@GetMapping("/getAllServerHost") @GetMapping("/getAllServerHost")
public R<List<SysComposeServerEntity>> getAllServerHost() { public R<List<SysComposeServerVO>> getAllServerHost() {
List<SysComposeServerEntity> list = sysComposeServerService.getAllServerHost(); List<SysComposeServerVO> list = sysComposeServerService.getAllServerHost();
return R.ok(list); return R.ok(list);
} }
} }
...@@ -4,17 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,17 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.annotation.RequiresPermissions; import com.jomalls.custom.app.annotation.RequiresPermissions;
import com.jomalls.custom.app.service.system.SysComposeServerLogService; import com.jomalls.custom.app.service.system.SysComposeServerLogService;
import com.jomalls.custom.dal.entity.SysComposeServerLogEntity; import com.jomalls.custom.app.vo.system.SysComposeServerLogVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
...@@ -36,12 +32,12 @@ public class SysComposeServerLogController { ...@@ -36,12 +32,12 @@ public class SysComposeServerLogController {
@Operation(summary = "分页查询服务器日志列表") @Operation(summary = "分页查询服务器日志列表")
@RequiresPermissions("system:composeServerLog:list") @RequiresPermissions("system:composeServerLog:list")
@PostMapping("/list") @PostMapping("/list")
public R<IPage<SysComposeServerLogEntity>> list( public R<IPage<SysComposeServerLogVO>> list(
@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "10") Integer pageSize,
SysComposeServerLogEntity log) { SysComposeServerLogVO log) {
Page<SysComposeServerLogEntity> page = new Page<>(pageNum, pageSize); Page<SysComposeServerLogVO> page = new Page<>(pageNum, pageSize);
IPage<SysComposeServerLogEntity> result = sysComposeServerLogService.pageList(log, page); IPage<SysComposeServerLogVO> result = sysComposeServerLogService.pageList(log, page);
return R.ok(result); return R.ok(result);
} }
......
package com.jomalls.custom.webapp.controller.system; package com.jomalls.custom.webapp.controller.system;
import com.jomalls.custom.app.annotation.RequiresPermissions; import com.jomalls.custom.app.annotation.RequiresPermissions;
import com.jomalls.custom.app.dto.system.SysDeptSaveDTO;
import com.jomalls.custom.app.dto.system.SysDeptUpdateDTO;
import com.jomalls.custom.app.service.system.SysDeptService; import com.jomalls.custom.app.service.system.SysDeptService;
import com.jomalls.custom.dal.entity.SysDeptEntity; import com.jomalls.custom.app.vo.system.SysDeptVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
...@@ -27,7 +29,7 @@ public class SysDeptController { ...@@ -27,7 +29,7 @@ public class SysDeptController {
@Operation(summary = "查询部门列表") @Operation(summary = "查询部门列表")
@RequiresPermissions("system:dept:list") @RequiresPermissions("system:dept:list")
@GetMapping("/list") @GetMapping("/list")
public R<Object> list(SysDeptEntity dept) { public R<Object> list(SysDeptVO dept) {
return R.ok(sysDeptService.selectDeptList(dept)); return R.ok(sysDeptService.selectDeptList(dept));
} }
...@@ -41,24 +43,24 @@ public class SysDeptController { ...@@ -41,24 +43,24 @@ public class SysDeptController {
@Operation(summary = "根据ID查询部门") @Operation(summary = "根据ID查询部门")
@RequiresPermissions("system:dept:query") @RequiresPermissions("system:dept:query")
@GetMapping("/{deptId}") @GetMapping("/{deptId}")
public R<SysDeptEntity> getById(@PathVariable Long deptId) { public R<SysDeptVO> getById(@PathVariable Long deptId) {
SysDeptEntity dept = sysDeptService.getById(deptId); SysDeptVO dept = sysDeptService.getById(deptId);
return R.ok(dept); return R.ok(dept);
} }
@Operation(summary = "新增部门") @Operation(summary = "新增部门")
@RequiresPermissions("system:dept:add") @RequiresPermissions("system:dept:add")
@PostMapping @PostMapping
public R<Void> add(@RequestBody SysDeptEntity dept) { public R<Void> add(@RequestBody SysDeptSaveDTO dto) {
sysDeptService.add(dept); sysDeptService.add(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改部门") @Operation(summary = "修改部门")
@RequiresPermissions("system:dept:edit") @RequiresPermissions("system:dept:edit")
@PutMapping @PutMapping
public R<Void> edit(@RequestBody SysDeptEntity dept) { public R<Void> edit(@RequestBody SysDeptUpdateDTO dto) {
sysDeptService.edit(dept); sysDeptService.edit(dto);
return R.ok(); return R.ok();
} }
......
package com.jomalls.custom.webapp.controller.system; package com.jomalls.custom.webapp.controller.system;
import com.jomalls.custom.app.dto.system.LoginDTO;
import com.jomalls.custom.app.service.system.SysLoginService; import com.jomalls.custom.app.service.system.SysLoginService;
import com.jomalls.custom.app.vo.LoginUserInfoVO; import com.jomalls.custom.app.vo.system.LoginUserInfoVO;
import com.jomalls.custom.app.vo.RouterVO; import com.jomalls.custom.app.vo.system.RouterVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
...@@ -32,9 +33,9 @@ public class SysLoginController { ...@@ -32,9 +33,9 @@ public class SysLoginController {
*/ */
@PostMapping("/api/v2/login") @PostMapping("/api/v2/login")
@Operation(summary = "用户登录") @Operation(summary = "用户登录")
public R<Map<String, String>> login(@RequestBody Map<String, String> body) { public R<Map<String, String>> login(@RequestBody LoginDTO loginDTO) {
String username = body.get("username"); String username = loginDTO.getUsername();
String password = body.get("password"); String password = loginDTO.getPassword();
log.info("用户[{}]尝试登录", username); log.info("用户[{}]尝试登录", username);
String token = sysLoginService.login(username, password); String token = sysLoginService.login(username, password);
Map<String, String> result = new HashMap<>(); Map<String, String> result = new HashMap<>();
......
package com.jomalls.custom.webapp.controller.system; package com.jomalls.custom.webapp.controller.system;
import com.jomalls.custom.app.annotation.RequiresPermissions; import com.jomalls.custom.app.annotation.RequiresPermissions;
import com.jomalls.custom.app.dto.system.SysMenuSaveDTO;
import com.jomalls.custom.app.dto.system.SysMenuUpdateDTO;
import com.jomalls.custom.app.service.system.SysMenuService; import com.jomalls.custom.app.service.system.SysMenuService;
import com.jomalls.custom.dal.entity.SysMenuEntity; import com.jomalls.custom.app.vo.system.SysMenuVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
...@@ -29,15 +31,16 @@ public class SysMenuController { ...@@ -29,15 +31,16 @@ public class SysMenuController {
@Operation(summary = "查询菜单列表") @Operation(summary = "查询菜单列表")
@RequiresPermissions("system:menu:list") @RequiresPermissions("system:menu:list")
@GetMapping("/list") @GetMapping("/list")
public R<Object> list(SysMenuEntity menu) { public R<Object> list(SysMenuVO menu) {
return R.ok(sysMenuService.selectMenuList(menu)); return R.ok(sysMenuService.selectMenuList(menu));
} }
@Operation(summary = "根据ID查询菜单") @Operation(summary = "根据ID查询菜单")
@RequiresPermissions("system:menu:query") @RequiresPermissions("system:menu:query")
@GetMapping("/{menuId}") @GetMapping("/{menuId}")
public R<Object> getById(@PathVariable Long menuId) { public R<SysMenuVO> getById(@PathVariable Long menuId) {
return R.ok(sysMenuService.getById(menuId)); SysMenuVO menu = sysMenuService.getById(menuId);
return R.ok(menu);
} }
@Operation(summary = "查询菜单树下拉列表") @Operation(summary = "查询菜单树下拉列表")
...@@ -56,16 +59,16 @@ public class SysMenuController { ...@@ -56,16 +59,16 @@ public class SysMenuController {
@Operation(summary = "新增菜单") @Operation(summary = "新增菜单")
@RequiresPermissions("system:menu:add") @RequiresPermissions("system:menu:add")
@PostMapping @PostMapping
public R<Void> add(@RequestBody SysMenuEntity menu) { public R<Void> add(@RequestBody SysMenuSaveDTO dto) {
sysMenuService.add(menu); sysMenuService.add(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改菜单") @Operation(summary = "修改菜单")
@RequiresPermissions("system:menu:edit") @RequiresPermissions("system:menu:edit")
@PutMapping @PutMapping
public R<Void> edit(@RequestBody SysMenuEntity menu) { public R<Void> edit(@RequestBody SysMenuUpdateDTO dto) {
sysMenuService.edit(menu); sysMenuService.edit(dto);
return R.ok(); return R.ok();
} }
......
...@@ -3,8 +3,10 @@ package com.jomalls.custom.webapp.controller.system; ...@@ -3,8 +3,10 @@ package com.jomalls.custom.webapp.controller.system;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.annotation.RequiresPermissions; import com.jomalls.custom.app.annotation.RequiresPermissions;
import com.jomalls.custom.app.dto.system.SysPostSaveDTO;
import com.jomalls.custom.app.dto.system.SysPostUpdateDTO;
import com.jomalls.custom.app.service.system.SysPostService; import com.jomalls.custom.app.service.system.SysPostService;
import com.jomalls.custom.dal.entity.SysPostEntity; import com.jomalls.custom.app.vo.system.SysPostVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
...@@ -29,36 +31,36 @@ public class SysPostController { ...@@ -29,36 +31,36 @@ public class SysPostController {
@Operation(summary = "分页查询岗位列表") @Operation(summary = "分页查询岗位列表")
@RequiresPermissions("system:post:list") @RequiresPermissions("system:post:list")
@GetMapping("/list") @GetMapping("/list")
public R<IPage<SysPostEntity>> list( public R<IPage<SysPostVO>> list(
@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "10") Integer pageSize,
SysPostEntity post) { SysPostVO post) {
Page<SysPostEntity> page = new Page<>(pageNum, pageSize); Page<SysPostVO> page = new Page<>(pageNum, pageSize);
IPage<SysPostEntity> result = sysPostService.pageList(post, page); IPage<SysPostVO> result = sysPostService.pageList(post, page);
return R.ok(result); return R.ok(result);
} }
@Operation(summary = "根据ID查询岗位") @Operation(summary = "根据ID查询岗位")
@RequiresPermissions("system:post:query") @RequiresPermissions("system:post:query")
@GetMapping("/{postId}") @GetMapping("/{postId}")
public R<SysPostEntity> getById(@PathVariable Long postId) { public R<SysPostVO> getById(@PathVariable Long postId) {
SysPostEntity post = sysPostService.getById(postId); SysPostVO post = sysPostService.getById(postId);
return R.ok(post); return R.ok(post);
} }
@Operation(summary = "新增岗位") @Operation(summary = "新增岗位")
@RequiresPermissions("system:post:add") @RequiresPermissions("system:post:add")
@PostMapping @PostMapping
public R<Void> add(@RequestBody SysPostEntity post) { public R<Void> add(@RequestBody SysPostSaveDTO dto) {
sysPostService.add(post); sysPostService.add(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改岗位") @Operation(summary = "修改岗位")
@RequiresPermissions("system:post:edit") @RequiresPermissions("system:post:edit")
@PutMapping @PutMapping
public R<Void> edit(@RequestBody SysPostEntity post) { public R<Void> edit(@RequestBody SysPostUpdateDTO dto) {
sysPostService.edit(post); sysPostService.edit(dto);
return R.ok(); return R.ok();
} }
......
...@@ -3,9 +3,10 @@ package com.jomalls.custom.webapp.controller.system; ...@@ -3,9 +3,10 @@ package com.jomalls.custom.webapp.controller.system;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.annotation.RequiresPermissions; import com.jomalls.custom.app.annotation.RequiresPermissions;
import com.jomalls.custom.app.dto.system.*;
import com.jomalls.custom.app.service.system.SysRoleService; import com.jomalls.custom.app.service.system.SysRoleService;
import com.jomalls.custom.dal.entity.SysRoleEntity; import com.jomalls.custom.app.vo.system.SysRoleVO;
import com.jomalls.custom.dal.entity.SysUserEntity; import com.jomalls.custom.app.vo.system.SysUserVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
...@@ -32,52 +33,52 @@ public class SysRoleController { ...@@ -32,52 +33,52 @@ public class SysRoleController {
@Operation(summary = "分页查询角色列表") @Operation(summary = "分页查询角色列表")
@RequiresPermissions("system:role:list") @RequiresPermissions("system:role:list")
@GetMapping("/list") @GetMapping("/list")
public R<IPage<SysRoleEntity>> list( public R<IPage<SysRoleVO>> list(
@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "10") Integer pageSize,
SysRoleEntity role) { SysRoleVO role) {
Page<SysRoleEntity> page = new Page<>(pageNum, pageSize); Page<SysRoleVO> page = new Page<>(pageNum, pageSize);
IPage<SysRoleEntity> result = sysRoleService.pageList(role, page); IPage<SysRoleVO> result = sysRoleService.pageList(role, page);
return R.ok(result); return R.ok(result);
} }
@Operation(summary = "根据ID查询角色") @Operation(summary = "根据ID查询角色")
@RequiresPermissions("system:role:query") @RequiresPermissions("system:role:query")
@GetMapping("/{roleId}") @GetMapping("/{roleId}")
public R<SysRoleEntity> getById(@PathVariable Long roleId) { public R<SysRoleVO> getById(@PathVariable Long roleId) {
SysRoleEntity role = sysRoleService.getById(roleId); SysRoleVO role = sysRoleService.getById(roleId);
return R.ok(role); return R.ok(role);
} }
@Operation(summary = "新增角色") @Operation(summary = "新增角色")
@RequiresPermissions("system:role:add") @RequiresPermissions("system:role:add")
@PostMapping @PostMapping
public R<Void> add(@RequestBody SysRoleEntity role) { public R<Void> add(@RequestBody SysRoleSaveDTO dto) {
sysRoleService.add(role); sysRoleService.add(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改角色") @Operation(summary = "修改角色")
@RequiresPermissions("system:role:edit") @RequiresPermissions("system:role:edit")
@PutMapping @PutMapping
public R<Void> edit(@RequestBody SysRoleEntity role) { public R<Void> edit(@RequestBody SysRoleUpdateDTO dto) {
sysRoleService.edit(role); sysRoleService.edit(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改角色数据权限") @Operation(summary = "修改角色数据权限")
@RequiresPermissions("system:role:edit") @RequiresPermissions("system:role:edit")
@PutMapping("/dataScope") @PutMapping("/dataScope")
public R<Void> dataScope(@RequestBody SysRoleEntity role) { public R<Void> dataScope(@RequestBody SysRoleDataScopeDTO dto) {
sysRoleService.dataScope(role); sysRoleService.dataScope(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改角色状态") @Operation(summary = "修改角色状态")
@RequiresPermissions("system:role:edit") @RequiresPermissions("system:role:edit")
@PutMapping("/changeStatus") @PutMapping("/changeStatus")
public R<Void> changeStatus(@RequestBody SysRoleEntity role) { public R<Void> changeStatus(@RequestBody SysRoleStatusDTO dto) {
sysRoleService.changeStatus(role.getRoleId(), role.getStatus()); sysRoleService.changeStatus(dto);
return R.ok(); return R.ok();
} }
...@@ -92,24 +93,24 @@ public class SysRoleController { ...@@ -92,24 +93,24 @@ public class SysRoleController {
@Operation(summary = "查询已分配用户(分页)") @Operation(summary = "查询已分配用户(分页)")
@RequiresPermissions("system:role:list") @RequiresPermissions("system:role:list")
@GetMapping("/authUser/allocatedList") @GetMapping("/authUser/allocatedList")
public R<IPage<SysUserEntity>> allocatedList( public R<IPage<SysUserVO>> allocatedList(
@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "10") Integer pageSize,
SysUserEntity user) { SysUserVO user) {
Page<SysUserEntity> page = new Page<>(pageNum, pageSize); Page<SysUserVO> page = new Page<>(pageNum, pageSize);
IPage<SysUserEntity> result = sysRoleService.allocatedList(user, page); IPage<SysUserVO> result = sysRoleService.allocatedList(user, page);
return R.ok(result); return R.ok(result);
} }
@Operation(summary = "查询未分配用户(分页)") @Operation(summary = "查询未分配用户(分页)")
@RequiresPermissions("system:role:list") @RequiresPermissions("system:role:list")
@GetMapping("/authUser/unallocatedList") @GetMapping("/authUser/unallocatedList")
public R<IPage<SysUserEntity>> unallocatedList( public R<IPage<SysUserVO>> unallocatedList(
@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "10") Integer pageSize,
SysUserEntity user) { SysUserVO user) {
Page<SysUserEntity> page = new Page<>(pageNum, pageSize); Page<SysUserVO> page = new Page<>(pageNum, pageSize);
IPage<SysUserEntity> result = sysRoleService.unallocatedList(user, page); IPage<SysUserVO> result = sysRoleService.unallocatedList(user, page);
return R.ok(result); return R.ok(result);
} }
......
...@@ -3,8 +3,9 @@ package com.jomalls.custom.webapp.controller.system; ...@@ -3,8 +3,9 @@ package com.jomalls.custom.webapp.controller.system;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.annotation.RequiresPermissions; import com.jomalls.custom.app.annotation.RequiresPermissions;
import com.jomalls.custom.app.dto.system.*;
import com.jomalls.custom.app.service.system.SysUserService; import com.jomalls.custom.app.service.system.SysUserService;
import com.jomalls.custom.dal.entity.SysUserEntity; import com.jomalls.custom.app.vo.system.SysUserVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
...@@ -32,12 +33,12 @@ public class SysUserController { ...@@ -32,12 +33,12 @@ public class SysUserController {
@Operation(summary = "分页查询用户列表") @Operation(summary = "分页查询用户列表")
@RequiresPermissions("system:user:list") @RequiresPermissions("system:user:list")
@GetMapping("/list") @GetMapping("/list")
public R<IPage<SysUserEntity>> list( public R<IPage<SysUserVO>> list(
@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "10") Integer pageSize,
SysUserEntity user) { SysUserVO user) {
Page<SysUserEntity> page = new Page<>(pageNum, pageSize); Page<SysUserVO> page = new Page<>(pageNum, pageSize);
IPage<SysUserEntity> result = sysUserService.pageList(user, page); IPage<SysUserVO> result = sysUserService.pageList(user, page);
return R.ok(result); return R.ok(result);
} }
...@@ -52,16 +53,16 @@ public class SysUserController { ...@@ -52,16 +53,16 @@ public class SysUserController {
@Operation(summary = "新增用户") @Operation(summary = "新增用户")
@RequiresPermissions("system:user:add") @RequiresPermissions("system:user:add")
@PostMapping @PostMapping
public R<Void> add(@RequestBody SysUserEntity user) { public R<Void> add(@RequestBody SysUserSaveDTO dto) {
sysUserService.add(user); sysUserService.add(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改用户") @Operation(summary = "修改用户")
@RequiresPermissions("system:user:edit") @RequiresPermissions("system:user:edit")
@PutMapping @PutMapping
public R<Void> edit(@RequestBody SysUserEntity user) { public R<Void> edit(@RequestBody SysUserUpdateDTO dto) {
sysUserService.edit(user); sysUserService.edit(dto);
return R.ok(); return R.ok();
} }
...@@ -76,39 +77,37 @@ public class SysUserController { ...@@ -76,39 +77,37 @@ public class SysUserController {
@Operation(summary = "重置密码") @Operation(summary = "重置密码")
@RequiresPermissions("system:user:resetPwd") @RequiresPermissions("system:user:resetPwd")
@PutMapping("/resetPwd") @PutMapping("/resetPwd")
public R<Void> resetPwd(@RequestBody SysUserEntity user) { public R<Void> resetPwd(@RequestBody SysUserResetPwdDTO dto) {
sysUserService.resetPwd(user.getUserId(), user.getPassword()); sysUserService.resetPwd(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改用户状态") @Operation(summary = "修改用户状态")
@RequiresPermissions("system:user:edit") @RequiresPermissions("system:user:edit")
@PutMapping("/changeStatus") @PutMapping("/changeStatus")
public R<Void> changeStatus(@RequestBody SysUserEntity user) { public R<Void> changeStatus(@RequestBody SysUserChangeStatusDTO dto) {
sysUserService.changeStatus(user.getUserId(), user.getStatus()); sysUserService.changeStatus(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "获取当前用户信息") @Operation(summary = "获取当前用户信息")
@GetMapping("/profile") @GetMapping("/profile")
public R<SysUserEntity> profile() { public R<SysUserVO> profile() {
SysUserEntity user = sysUserService.getProfile(); SysUserVO user = sysUserService.getProfile();
return R.ok(user); return R.ok(user);
} }
@Operation(summary = "修改当前用户信息") @Operation(summary = "修改当前用户信息")
@PutMapping("/profile") @PutMapping("/profile")
public R<Void> updateProfile(@RequestBody SysUserEntity user) { public R<Void> updateProfile(@RequestBody SysUserVO user) {
sysUserService.updateProfile(user); sysUserService.updateProfile(user);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改当前用户密码") @Operation(summary = "修改当前用户密码")
@PutMapping("/profile/updatePwd") @PutMapping("/profile/updatePwd")
public R<Void> updatePwd(@RequestBody Map<String, String> body) { public R<Void> updatePwd(@RequestBody SysUserUpdatePwdDTO dto) {
String oldPassword = body.get("oldPassword"); sysUserService.updatePwd(dto);
String newPassword = body.get("newPassword");
sysUserService.updatePwd(oldPassword, newPassword);
return R.ok(); return R.ok();
} }
......
...@@ -3,21 +3,16 @@ package com.jomalls.custom.webapp.controller.warehouse; ...@@ -3,21 +3,16 @@ package com.jomalls.custom.webapp.controller.warehouse;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jomalls.custom.app.annotation.RequiresPermissions; import com.jomalls.custom.app.annotation.RequiresPermissions;
import com.jomalls.custom.app.dto.warehouse.CustomWarehouseInfoSaveDTO;
import com.jomalls.custom.app.dto.warehouse.CustomWarehouseInfoUpdateDTO;
import com.jomalls.custom.app.service.warehouse.CustomWarehouseInfoService; import com.jomalls.custom.app.service.warehouse.CustomWarehouseInfoService;
import com.jomalls.custom.dal.entity.CustomWarehouseInfoEntity; import com.jomalls.custom.app.vo.warehouse.CustomWarehouseInfoSnakeVO;
import com.jomalls.custom.utils.R; import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -45,23 +40,23 @@ public class CustomWarehouseInfoController { ...@@ -45,23 +40,23 @@ public class CustomWarehouseInfoController {
@Operation(summary = "分页查询仓库列表") @Operation(summary = "分页查询仓库列表")
@RequiresPermissions("business:customWarehouse:list") @RequiresPermissions("business:customWarehouse:list")
@GetMapping("/list") @GetMapping("/list")
public R<IPage<CustomWarehouseInfoEntity>> list(CustomWarehouseInfoEntity entity, Page<CustomWarehouseInfoEntity> page) { public R<IPage<CustomWarehouseInfoSnakeVO>> list(CustomWarehouseInfoSnakeVO entity, Page<CustomWarehouseInfoSnakeVO> page) {
return R.ok(customWarehouseInfoService.pageList(entity, page)); return R.ok(customWarehouseInfoService.pageList(entity, page));
} }
@Operation(summary = "新增仓库") @Operation(summary = "新增仓库")
@RequiresPermissions("business:customWarehouse:add") @RequiresPermissions("business:customWarehouse:add")
@PostMapping @PostMapping
public R<Void> add(@RequestBody CustomWarehouseInfoEntity entity) { public R<Void> add(@RequestBody CustomWarehouseInfoSaveDTO dto) {
customWarehouseInfoService.add(entity); customWarehouseInfoService.add(dto);
return R.ok(); return R.ok();
} }
@Operation(summary = "修改仓库") @Operation(summary = "修改仓库")
@RequiresPermissions("business:customWarehouse:edit") @RequiresPermissions("business:customWarehouse:edit")
@PutMapping @PutMapping
public R<Void> edit(@RequestBody CustomWarehouseInfoEntity entity) { public R<Void> edit(@RequestBody CustomWarehouseInfoUpdateDTO dto) {
customWarehouseInfoService.edit(entity); customWarehouseInfoService.edit(dto);
return R.ok(); return R.ok();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment