From 029a164b13b58f1efb716e278fa199cba389536d Mon Sep 17 00:00:00 2001 From: Tom Li Date: Sun, 4 Jan 2026 14:26:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0OEM=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/basic/controller/OemController.java | 238 ++++++++++++++++++ .../desk/basic/excel/OemExcel.java | 117 +++++++++ .../desk/basic/mapper/OemMapper.java | 39 +++ .../desk/basic/mapper/OemMapper.xml | 30 +++ .../desk/basic/pojo/dto/OemDTO.java | 23 ++ .../desk/basic/pojo/entity/Oem.java | 155 ++++++++++++ .../springblade/desk/basic/pojo/vo/OemVO.java | 23 ++ .../desk/basic/service/IOemService.java | 43 ++++ .../basic/service/impl/OemServiceImpl.java | 60 +++++ .../desk/basic/wrapper/OemWrapper.java | 35 +++ 10 files changed, 763 insertions(+) create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/OemExcel.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/OemMapper.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/OemMapper.xml create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/dto/OemDTO.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/entity/Oem.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/OemVO.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IOemService.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/OemServiceImpl.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/wrapper/OemWrapper.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java new file mode 100644 index 00000000..bc1c113c --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java @@ -0,0 +1,238 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.basic.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; + +import lombok.Data; +import lombok.AllArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.desk.basic.util.ExcelExtUtil; +import org.springblade.desk.basic.pojo.entity.Oem; +import org.springblade.desk.basic.pojo.vo.OemVO; +import org.springblade.desk.basic.excel.OemExcel; +import org.springblade.desk.basic.wrapper.OemWrapper; +import org.springblade.desk.basic.service.IOemService; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; +import java.util.Map; +import java.util.List; +import jakarta.servlet.http.HttpServletResponse; + +/** + * [外协厂家] 控制器 + * + * @author Tom Shuo + * @since 2026-01-04 + */ +@RestController +@RequestMapping("/Oem") +@Data +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@Slf4j +@Tag(name = "[外协厂家]", description = "[外协厂家]接口") +public class OemController extends BladeController { + + @Resource + private IOemService service; + + /** + * [外协厂家] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 10) + @Operation(summary = "详情", description = "传入Oem Obj") + public R detail(Oem oem) { + QueryWrapper qw = Condition.getQueryWrapper(oem); + Oem detail = service.getOne(qw); + OemVO detailVO = OemWrapper.build().entityVO(detail); + service.setVOValue(detailVO); + return R.data(detailVO); + } + + /** + * [外协厂家] list分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 20) + @Operation(summary = "list分页", description = "传入Oem Obj") + public R> list(@Parameter(hidden = true) @RequestParam Map oem, + Query query) { + QueryWrapper qw = Condition.getQueryWrapper(oem, Oem.class); + IPage pages = service.page(Condition.getPage(query), qw); + IPage pagesVO = OemWrapper.build().pageVO(pages); + pagesVO.getRecords() + .stream() + .peek(service::setVOValue) + .collect(Collectors.toList()); + return R.data(pagesVO); + } + + + /** + * [外协厂家] page分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 21) + @Operation(summary = "page分页", description = "传入Oem Obj") + public R> page(OemVO oem, Query query) { + IPage pagesVO = service.selectOemPage( + Condition.getPage(query), oem + ); + return R.data(pagesVO); + } + + /** + * [外协厂家] list下拉选择 + */ + @GetMapping("/listForSelect") + @ApiOperationSupport(order = 22) + @Operation(summary = "list下拉选择", description = "") + public R> listForSelect() { + List list = service.list(); + List listVO = OemWrapper.build().listVO(list); + return R.data(listVO); + } + + /** + * [外协厂家] 新增一条 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 30) + @Operation(summary = "新增一条", description = "传入Oem Obj") + public R save(@Valid @RequestBody Oem addOne) { + addOne.setId(null); + return R.status(service.save(addOne)); + } + + /** + * [外协厂家] 新增批量 + */ + @PostMapping("/saveBat") + @ApiOperationSupport(order = 31) + @Operation(summary = "新增批量", description = "传入Oem List") + public R saveBat(@Valid @RequestBody List addList) { + addList.forEach(one -> { + one.setId(null); + }); + return R.status(service.saveBatch(addList)); + } + + /** + * [外协厂家] 修改一条 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 40) + @Operation(summary = "修改一条", description = "传入Oem Obj") + public R update(@Valid @RequestBody Oem updateOne) { + return R.status(service.updateById(updateOne)); + } + + /** + * [外协厂家] 修改批量 + */ + @PostMapping("/updateBat") + @ApiOperationSupport(order = 41) + @Operation(summary = "修改批量", description = "传入Oem List") + public R updateBat(@Valid @RequestBody List updateList) { + return R.status(service.updateBatchById(updateList)); + } + + /** + * [外协厂家] 新增或修改一条 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 50) + @Operation(summary = "新增或修改一条", description = "传入Oem Obj") + public R submit(@Valid @RequestBody Oem mergeOne) { + return R.status(service.saveOrUpdate(mergeOne)); + } + + /** + * [外协厂家] 新增或修改批量 + */ + @PostMapping("/submitBat") + @ApiOperationSupport(order = 51) + @Operation(summary = "新增或修改批量", description = "传入Oem List") + public R submitBat(@Valid @RequestBody List mergeList) { + return R.status(service.saveOrUpdateBatch(mergeList)); + } + + /** + * [外协厂家] 逻辑删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 61) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(service.deleteLogic(Func.toLongList(ids))); + } + + /** + * [外协厂家] 导出Excel + */ + @GetMapping("/exportExcel") + @ApiOperationSupport(order = 70) + @Operation(summary = "导出Excel", description = "传入Oem") + public void exportExcel(@Parameter(hidden = true) @RequestParam Map oem, + BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper qw = Condition.getQueryWrapper(oem, Oem.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(Oem::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(OemEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = service.exportOem(qw); + ExcelUtil.export(response, "[外协厂家]数据" + org.springblade.core.tool.utils.DateUtil.time(), + "[外协厂家]数据表", list, OemExcel.class); + } + + /** + * [外协厂家] 下载Excel模板 + */ + @GetMapping("/downloadExcelTemplate") + @ApiOperationSupport(order = 71) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity downloadExcelTemplate() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/QA/ImportTemplate-CycleTestItem.xls", + "导入模版-周期试验项目.xls"); + } + + /** + * [外协厂家] 导入Excel + */ + @PostMapping("/importExcel") + @ApiOperationSupport(order = 72) + @Operation(summary = "导入Excel", description = "MultipartFile") + public R importExcel(@RequestParam("file") MultipartFile file) { + R checkR = ExcelExtUtil.importExcelCheck(file); + if (checkR != null) { + return checkR; + } + List importList = ExcelUtil.read( + file, 0, 1, Oem.class + ); + return R.status(service.saveBatch(importList)); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/OemExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/OemExcel.java new file mode 100644 index 00000000..df17ee99 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/OemExcel.java @@ -0,0 +1,117 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.basic.excel; + + +import lombok.Data; + +import java.io.Serializable; +import org.springblade.core.mp.base.BaseEntity; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import java.io.Serial; + + +/** + * [外协厂家] Excel实体类 + * + * @author Tom Shuo + * @since 2026-01-04 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class OemExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 编码 + */ + @ColumnWidth(20) + @ExcelProperty("编码") + private String code; + /** + * 简称 + */ + @ColumnWidth(20) + @ExcelProperty("简称") + private String abbreviation; + /** + * 工艺能力 + */ + @ColumnWidth(20) + @ExcelProperty("工艺能力") + private String craftAbility; + /** + * 地区 + */ + @ColumnWidth(20) + @ExcelProperty("地区") + private String region; + /** + * 地址 + */ + @ColumnWidth(20) + @ExcelProperty("地址") + private String address; + /** + * 资质 + */ + @ColumnWidth(20) + @ExcelProperty("资质") + private Short qualification; + /** + * 联系人 + */ + @ColumnWidth(20) + @ExcelProperty("联系人") + private String contactMan; + /** + * 邮箱 + */ + @ColumnWidth(20) + @ExcelProperty("邮箱") + private String email; + /** + * 联系电话 + */ + @ColumnWidth(20) + @ExcelProperty("联系电话") + private String contactPhone; + /** + * 密码 + */ + @ColumnWidth(20) + @ExcelProperty("密码") + private String oemPassword; + /** + * 名称 + */ + @ColumnWidth(20) + @ExcelProperty("名称") + private String ocName; + /** + * 类型 + */ + @ColumnWidth(20) + @ExcelProperty("类型") + private Long oemType; + /** + * 排序 + */ + @ColumnWidth(20) + @ExcelProperty("排序") + private Long sort; + /** + * 备注 + */ + @ColumnWidth(20) + @ExcelProperty("备注") + private String remark; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/OemMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/OemMapper.java new file mode 100644 index 00000000..3a3892f4 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/OemMapper.java @@ -0,0 +1,39 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.basic.mapper; + +import org.springblade.desk.basic.pojo.entity.Oem; +import org.springblade.desk.basic.pojo.vo.OemVO; +import org.springblade.desk.basic.excel.OemExcel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * [外协厂家] Mapper 接口 + * + * @author Tom Shuo + * @since 2026-01-04 + */ +public interface OemMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param oem 查询参数 + * @return List + */ + List selectOemPage(IPage page, OemVO oem); + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportOem(@Param("ew") Wrapper queryWrapper); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/OemMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/OemMapper.xml new file mode 100644 index 00000000..7ccd83c3 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/OemMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/dto/OemDTO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/dto/OemDTO.java new file mode 100644 index 00000000..4a346a40 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/dto/OemDTO.java @@ -0,0 +1,23 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.basic.pojo.dto; + +import org.springblade.desk.basic.pojo.entity.Oem; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * [外协厂家] 数据传输对象实体类 + * + * @author Tom Shuo + * @since 2026-01-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class OemDTO extends Oem { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/entity/Oem.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/entity/Oem.java new file mode 100644 index 00000000..7ec9e2d5 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/entity/Oem.java @@ -0,0 +1,155 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.basic.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; +import org.springblade.core.mp.base.BaseEntity; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * [外协厂家] 实体类 + * + * @author Tom Shuo + * @since 2026-01-04 + */ +@Data +@TableName("BA_OEM") +@Schema(description = "Oem Entity对象") +@EqualsAndHashCode(callSuper = true) +public class Oem extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 编码 + */ + public static final String COL_CODE = "CODE"; + /** + * 简称 + */ + public static final String COL_ABBREVIATION = "ABBREVIATION"; + /** + * 工艺能力 + */ + public static final String COL_CRAFT_ABILITY = "CRAFT_ABILITY"; + /** + * 地区 + */ + public static final String COL_REGION = "REGION"; + /** + * 地址 + */ + public static final String COL_ADDRESS = "ADDRESS"; + /** + * 资质 + */ + public static final String COL_QUALIFICATION = "QUALIFICATION"; + /** + * 联系人 + */ + public static final String COL_CONTACT_MAN = "CONTACT_MAN"; + /** + * 邮箱 + */ + public static final String COL_EMAIL = "EMAIL"; + /** + * 联系电话 + */ + public static final String COL_CONTACT_PHONE = "CONTACT_PHONE"; + /** + * 密码 + */ + public static final String COL_OEM_PASSWORD = "OEM_PASSWORD"; + /** + * 名称 + */ + public static final String COL_OC_NAME = "OC_NAME"; + /** + * 类型 + */ + public static final String COL_OEM_TYPE = "OEM_TYPE"; + /** + * 排序 + */ + public static final String COL_SORT = "SORT"; + /** + * 备注 + */ + public static final String COL_REMARK = "REMARK"; + + /** + * 编码 + */ + @Schema(description = "编码") + private String code; + /** + * 简称 + */ + @Schema(description = "简称") + private String abbreviation; + /** + * 工艺能力 + */ + @Schema(description = "工艺能力") + private String craftAbility; + /** + * 地区 + */ + @Schema(description = "地区") + private String region; + /** + * 地址 + */ + @Schema(description = "地址") + private String address; + /** + * 资质 + */ + @Schema(description = "资质") + private Short qualification; + /** + * 联系人 + */ + @Schema(description = "联系人") + private String contactMan; + /** + * 邮箱 + */ + @Schema(description = "邮箱") + private String email; + /** + * 联系电话 + */ + @Schema(description = "联系电话") + private String contactPhone; + /** + * 密码 + */ + @Schema(description = "密码") + private String oemPassword; + /** + * 名称 + */ + @Schema(description = "名称") + private String ocName; + /** + * 类型 + */ + @Schema(description = "类型") + private Long oemType; + /** + * 排序 + */ + @Schema(description = "排序") + private Long sort; + /** + * 备注 + */ + @Schema(description = "备注") + private String remark; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/OemVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/OemVO.java new file mode 100644 index 00000000..a5f19f3a --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/OemVO.java @@ -0,0 +1,23 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.basic.pojo.vo; + +import org.springblade.desk.basic.pojo.entity.Oem; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * [外协厂家] 视图实体类 + * + * @author Tom Shuo + * @since 2026-01-04 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class OemVO extends Oem { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IOemService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IOemService.java new file mode 100644 index 00000000..6d951030 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IOemService.java @@ -0,0 +1,43 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.basic.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.basic.pojo.entity.Oem; +import org.springblade.desk.basic.pojo.vo.OemVO; +import org.springblade.desk.basic.excel.OemExcel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; +import java.util.List; + +/** + * [外协厂家] 服务类 + * + * @author Tom Shuo + * @since 2026-01-04 + */ +public interface IOemService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param oem 查询参数 + * @return IPage + */ + IPage selectOemPage(IPage page, OemVO oem); + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportOem(Wrapper queryWrapper); + + /** + * VO + * @param vo + */ + void setVOValue(OemVO vo); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/OemServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/OemServiceImpl.java new file mode 100644 index 00000000..3bcc0bca --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/OemServiceImpl.java @@ -0,0 +1,60 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.basic.service.impl; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.AllArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.basic.pojo.entity.Oem; +import org.springblade.desk.basic.pojo.vo.OemVO; +import org.springblade.desk.basic.excel.OemExcel; +import org.springblade.desk.basic.mapper.OemMapper; +import org.springblade.desk.basic.service.IOemService; +import org.springblade.system.feign.IUserClient; +import org.springblade.system.feign.IDictClient; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; +import java.util.List; + +/** + * [外协厂家] 服务实现类 + * + * @author Tom Shuo + * @since 2026-01-04 + */ +@Service +@Data +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@Slf4j +public class OemServiceImpl extends BaseServiceImpl implements IOemService { + + @Resource + private IUserClient userClient; + @Resource + private IDictClient dictClient; + + @Override + public IPage selectOemPage(IPage page, OemVO oem) { + return page.setRecords(baseMapper.selectOemPage(page, oem)); + } + + @Override + public List exportOem(Wrapper queryWrapper) { + List oemList = baseMapper.exportOem(queryWrapper); + //oemList.forEach(oem -> { + // oem.setTypeName(DictCache.getValue(DictEnum.YES_NO, Oem.getType())); + //}); + return oemList; + } + + @Override + public void setVOValue(OemVO vo) { + + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/wrapper/OemWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/wrapper/OemWrapper.java new file mode 100644 index 00000000..0c047145 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/wrapper/OemWrapper.java @@ -0,0 +1,35 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.basic.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.basic.pojo.entity.Oem; +import org.springblade.desk.basic.pojo.vo.OemVO; +import java.util.Objects; + +/** + * [外协厂家] 包装类,返回视图层所需的字段 + * + * @author Tom Shuo + * @since 2026-01-04 + */ +public class OemWrapper extends BaseEntityWrapper { + + public static OemWrapper build() { + return new OemWrapper(); + } + + @Override + public OemVO entityVO(Oem oem) { + OemVO VO = Objects.requireNonNull(BeanUtil.copyProperties(oem, OemVO.class)); + + //User createUser = UserCache.getUser(oem.getCreateUser()); + //User updateUser = UserCache.getUser(oem.getUpdateUser()); + //oemVO.setCreateUserName(createUser.getName()); + //oemVO.setUpdateUserName(updateUser.getName()); + + return VO; + } +}