From 5e25306bf17715d8f120c03ca7fedd84f664ef61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E4=B8=96=E5=BC=BA?= Date: Tue, 26 Sep 2023 11:11:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E7=B3=BB=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yudao-ui-admin-vben-master/src/utils/dict.ts | 1 + ...usinessEnterpriseRelationalController.java | 102 +++++++++++ .../BusinessEnterpriseRelationalBaseVO.java | 25 +++ ...sinessEnterpriseRelationalCreateReqVO.java | 14 ++ .../BusinessEnterpriseRelationalExcelVO.java | 31 ++++ ...sinessEnterpriseRelationalExportReqVO.java | 26 +++ ...BusinessEnterpriseRelationalPageReqVO.java | 28 +++ .../BusinessEnterpriseRelationalRespVO.java | 19 ++ ...sinessEnterpriseRelationalUpdateReqVO.java | 18 ++ .../BusinessUserRelationalController.java | 102 +++++++++++ .../vo/BusinessUserRelationalBaseVO.java | 25 +++ .../vo/BusinessUserRelationalCreateReqVO.java | 14 ++ .../vo/BusinessUserRelationalExcelVO.java | 31 ++++ .../vo/BusinessUserRelationalExportReqVO.java | 26 +++ .../vo/BusinessUserRelationalPageReqVO.java | 28 +++ .../vo/BusinessUserRelationalRespVO.java | 19 ++ .../vo/BusinessUserRelationalUpdateReqVO.java | 18 ++ .../vo/BusinessWarehouseBaseVO.java | 6 + .../vo/BusinessWarehouseExcelVO.java | 7 + .../vo/BusinessWarehouseExportReqVO.java | 6 + .../vo/BusinessWarehousePageReqVO.java | 6 + .../BusinessEnterpriseRelationalConvert.java | 34 ++++ .../BusinessUserRelationalConvert.java | 34 ++++ .../BusinessEnterpriseRelationalDO.java | 39 ++++ .../BusinessUserRelationalDO.java | 39 ++++ .../BusinessWarehouseDO.java | 8 + .../BusinessEnterpriseRelationalMapper.java | 36 ++++ .../BusinessUserRelationalMapper.java | 36 ++++ .../BusinessWarehouseMapper.java | 4 + .../module/xxjj/enums/ErrorCodeConstants.java | 6 + .../BusinessEnterpriseRelationalService.java | 70 ++++++++ ...sinessEnterpriseRelationalServiceImpl.java | 82 +++++++++ .../BusinessUserRelationalService.java | 70 ++++++++ .../BusinessUserRelationalServiceImpl.java | 82 +++++++++ .../BusinessEnterpriseRelationalMapper.xml | 12 ++ .../BusinessUserRelationalMapper.xml | 12 ++ ...ssEnterpriseRelationalServiceImplTest.java | 167 ++++++++++++++++++ ...BusinessUserRelationalServiceImplTest.java | 167 ++++++++++++++++++ 38 files changed, 1450 insertions(+) create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/BusinessEnterpriseRelationalController.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalBaseVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalCreateReqVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExcelVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExportReqVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalPageReqVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalRespVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalUpdateReqVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/BusinessUserRelationalController.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalBaseVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalCreateReqVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalExcelVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalExportReqVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalPageReqVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalRespVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalUpdateReqVO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/businessenterpriserelational/BusinessEnterpriseRelationalConvert.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/businessuserrelational/BusinessUserRelationalConvert.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businessenterpriserelational/BusinessEnterpriseRelationalDO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businessuserrelational/BusinessUserRelationalDO.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businessenterpriserelational/BusinessEnterpriseRelationalMapper.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businessuserrelational/BusinessUserRelationalMapper.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessenterpriserelational/BusinessEnterpriseRelationalService.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImpl.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalService.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalServiceImpl.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/businessenterpriserelational/BusinessEnterpriseRelationalMapper.xml create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/businessuserrelational/BusinessUserRelationalMapper.xml create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImplTest.java create mode 100644 yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalServiceImplTest.java diff --git a/yudao-ui-admin-vben-master/src/utils/dict.ts b/yudao-ui-admin-vben-master/src/utils/dict.ts index 7ebce2f..77a9e0f 100644 --- a/yudao-ui-admin-vben-master/src/utils/dict.ts +++ b/yudao-ui-admin-vben-master/src/utils/dict.ts @@ -156,4 +156,5 @@ export enum DICT_TYPE { // ============= BUSINESSLINE 模块================= BUSINESS_TYPE = 'business_type', //业务线类型 DIFF_FLAG = 'diff_flag', + CLASS_STATUS = 'class_status', } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/BusinessEnterpriseRelationalController.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/BusinessEnterpriseRelationalController.java new file mode 100644 index 0000000..f359fa6 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/BusinessEnterpriseRelationalController.java @@ -0,0 +1,102 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.yunxi.scm.framework.common.pojo.PageResult; +import com.yunxi.scm.framework.common.pojo.CommonResult; +import static com.yunxi.scm.framework.common.pojo.CommonResult.success; + +import com.yunxi.scm.framework.excel.core.util.ExcelUtils; + +import com.yunxi.scm.framework.operatelog.core.annotations.OperateLog; +import static com.yunxi.scm.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo.*; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO; +import com.yunxi.scm.module.xxjj.convert.businessenterpriserelational.BusinessEnterpriseRelationalConvert; +import com.yunxi.scm.module.xxjj.service.businessenterpriserelational.BusinessEnterpriseRelationalService; + +@Tag(name = "管理后台 - 业务线和机构关联") +@RestController +@RequestMapping("/xxjj/business-enterprise-relational") +@Validated +public class BusinessEnterpriseRelationalController { + + @Resource + private BusinessEnterpriseRelationalService businessEnterpriseRelationalService; + + @PostMapping("/create") + @Operation(summary = "创建业务线和机构关联") + @PreAuthorize("@ss.hasPermission('xxjj:business-enterprise-relational:create')") + public CommonResult createBusinessEnterpriseRelational(@Valid @RequestBody BusinessEnterpriseRelationalCreateReqVO createReqVO) { + return success(businessEnterpriseRelationalService.createBusinessEnterpriseRelational(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新业务线和机构关联") + @PreAuthorize("@ss.hasPermission('xxjj:business-enterprise-relational:update')") + public CommonResult updateBusinessEnterpriseRelational(@Valid @RequestBody BusinessEnterpriseRelationalUpdateReqVO updateReqVO) { + businessEnterpriseRelationalService.updateBusinessEnterpriseRelational(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除业务线和机构关联") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('xxjj:business-enterprise-relational:delete')") + public CommonResult deleteBusinessEnterpriseRelational(@RequestParam("id") Long id) { + businessEnterpriseRelationalService.deleteBusinessEnterpriseRelational(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得业务线和机构关联") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('xxjj:business-enterprise-relational:query')") + public CommonResult getBusinessEnterpriseRelational(@RequestParam("id") Long id) { + BusinessEnterpriseRelationalDO businessEnterpriseRelational = businessEnterpriseRelationalService.getBusinessEnterpriseRelational(id); + return success(BusinessEnterpriseRelationalConvert.INSTANCE.convert(businessEnterpriseRelational)); + } + + @GetMapping("/list") + @Operation(summary = "获得业务线和机构关联列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('xxjj:business-enterprise-relational:query')") + public CommonResult> getBusinessEnterpriseRelationalList(@RequestParam("ids") Collection ids) { + List list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(ids); + return success(BusinessEnterpriseRelationalConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得业务线和机构关联分页") + @PreAuthorize("@ss.hasPermission('xxjj:business-enterprise-relational:query')") + public CommonResult> getBusinessEnterpriseRelationalPage(@Valid BusinessEnterpriseRelationalPageReqVO pageVO) { + PageResult pageResult = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalPage(pageVO); + return success(BusinessEnterpriseRelationalConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出业务线和机构关联 Excel") + @PreAuthorize("@ss.hasPermission('xxjj:business-enterprise-relational:export')") + @OperateLog(type = EXPORT) + public void exportBusinessEnterpriseRelationalExcel(@Valid BusinessEnterpriseRelationalExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(exportReqVO); + // 导出 Excel + List datas = BusinessEnterpriseRelationalConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "业务线和机构关联.xls", "数据", BusinessEnterpriseRelationalExcelVO.class, datas); + } + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalBaseVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalBaseVO.java new file mode 100644 index 0000000..cdfcea1 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalBaseVO.java @@ -0,0 +1,25 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import javax.validation.constraints.*; + +/** + * 业务线和机构关联 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class BusinessEnterpriseRelationalBaseVO { + + @Schema(description = "业务线id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7685") + @NotNull(message = "业务线id不能为空") + private Long businessId; + + @Schema(description = "企业id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7361") + @NotNull(message = "企业id不能为空") + private Long enterpriseId; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalCreateReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalCreateReqVO.java new file mode 100644 index 0000000..324e69d --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalCreateReqVO.java @@ -0,0 +1,14 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 业务线和机构关联创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BusinessEnterpriseRelationalCreateReqVO extends BusinessEnterpriseRelationalBaseVO { + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExcelVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExcelVO.java new file mode 100644 index 0000000..3f56cbd --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExcelVO.java @@ -0,0 +1,31 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 业务线和机构关联 Excel VO + * + * @author 长江云息 + */ +@Data +public class BusinessEnterpriseRelationalExcelVO { + + @ExcelProperty("主键id") + private Long id; + + @ExcelProperty("业务线id") + private Long businessId; + + @ExcelProperty("企业id") + private Long enterpriseId; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExportReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExportReqVO.java new file mode 100644 index 0000000..37a400f --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalExportReqVO.java @@ -0,0 +1,26 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.yunxi.scm.framework.common.pojo.PageParam; +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; + +import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 业务线和机构关联 Excel 导出 Request VO,参数和 BusinessEnterpriseRelationalPageReqVO 是一致的") +@Data +public class BusinessEnterpriseRelationalExportReqVO { + + @Schema(description = "业务线id", example = "7685") + private Long businessId; + + @Schema(description = "企业id", example = "7361") + private Long enterpriseId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalPageReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalPageReqVO.java new file mode 100644 index 0000000..7290529 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalPageReqVO.java @@ -0,0 +1,28 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.yunxi.scm.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 业务线和机构关联分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BusinessEnterpriseRelationalPageReqVO extends PageParam { + + @Schema(description = "业务线id", example = "7685") + private Long businessId; + + @Schema(description = "企业id", example = "7361") + private Long enterpriseId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalRespVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalRespVO.java new file mode 100644 index 0000000..63d2a3c --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalRespVO.java @@ -0,0 +1,19 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 业务线和机构关联 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BusinessEnterpriseRelationalRespVO extends BusinessEnterpriseRelationalBaseVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29174") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalUpdateReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalUpdateReqVO.java new file mode 100644 index 0000000..4bf202a --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessenterpriserelational/vo/BusinessEnterpriseRelationalUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 业务线和机构关联更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BusinessEnterpriseRelationalUpdateReqVO extends BusinessEnterpriseRelationalBaseVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29174") + @NotNull(message = "主键id不能为空") + private Long id; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/BusinessUserRelationalController.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/BusinessUserRelationalController.java new file mode 100644 index 0000000..6495753 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/BusinessUserRelationalController.java @@ -0,0 +1,102 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.yunxi.scm.framework.common.pojo.PageResult; +import com.yunxi.scm.framework.common.pojo.CommonResult; +import static com.yunxi.scm.framework.common.pojo.CommonResult.success; + +import com.yunxi.scm.framework.excel.core.util.ExcelUtils; + +import com.yunxi.scm.framework.operatelog.core.annotations.OperateLog; +import static com.yunxi.scm.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo.*; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessuserrelational.BusinessUserRelationalDO; +import com.yunxi.scm.module.xxjj.convert.businessuserrelational.BusinessUserRelationalConvert; +import com.yunxi.scm.module.xxjj.service.businessuserrelational.BusinessUserRelationalService; + +@Tag(name = "管理后台 - 业务线和用户关联") +@RestController +@RequestMapping("/xxjj/business-user-relational") +@Validated +public class BusinessUserRelationalController { + + @Resource + private BusinessUserRelationalService businessUserRelationalService; + + @PostMapping("/create") + @Operation(summary = "创建业务线和用户关联") + @PreAuthorize("@ss.hasPermission('xxjj:business-user-relational:create')") + public CommonResult createBusinessUserRelational(@Valid @RequestBody BusinessUserRelationalCreateReqVO createReqVO) { + return success(businessUserRelationalService.createBusinessUserRelational(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新业务线和用户关联") + @PreAuthorize("@ss.hasPermission('xxjj:business-user-relational:update')") + public CommonResult updateBusinessUserRelational(@Valid @RequestBody BusinessUserRelationalUpdateReqVO updateReqVO) { + businessUserRelationalService.updateBusinessUserRelational(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除业务线和用户关联") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('xxjj:business-user-relational:delete')") + public CommonResult deleteBusinessUserRelational(@RequestParam("id") Long id) { + businessUserRelationalService.deleteBusinessUserRelational(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得业务线和用户关联") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('xxjj:business-user-relational:query')") + public CommonResult getBusinessUserRelational(@RequestParam("id") Long id) { + BusinessUserRelationalDO businessUserRelational = businessUserRelationalService.getBusinessUserRelational(id); + return success(BusinessUserRelationalConvert.INSTANCE.convert(businessUserRelational)); + } + + @GetMapping("/list") + @Operation(summary = "获得业务线和用户关联列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('xxjj:business-user-relational:query')") + public CommonResult> getBusinessUserRelationalList(@RequestParam("ids") Collection ids) { + List list = businessUserRelationalService.getBusinessUserRelationalList(ids); + return success(BusinessUserRelationalConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得业务线和用户关联分页") + @PreAuthorize("@ss.hasPermission('xxjj:business-user-relational:query')") + public CommonResult> getBusinessUserRelationalPage(@Valid BusinessUserRelationalPageReqVO pageVO) { + PageResult pageResult = businessUserRelationalService.getBusinessUserRelationalPage(pageVO); + return success(BusinessUserRelationalConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出业务线和用户关联 Excel") + @PreAuthorize("@ss.hasPermission('xxjj:business-user-relational:export')") + @OperateLog(type = EXPORT) + public void exportBusinessUserRelationalExcel(@Valid BusinessUserRelationalExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = businessUserRelationalService.getBusinessUserRelationalList(exportReqVO); + // 导出 Excel + List datas = BusinessUserRelationalConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "业务线和用户关联.xls", "数据", BusinessUserRelationalExcelVO.class, datas); + } + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalBaseVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalBaseVO.java new file mode 100644 index 0000000..d069929 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalBaseVO.java @@ -0,0 +1,25 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import javax.validation.constraints.*; + +/** + * 业务线和用户关联 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class BusinessUserRelationalBaseVO { + + @Schema(description = "业务线id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6353") + @NotNull(message = "业务线id不能为空") + private Long businessId; + + @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5981") + @NotNull(message = "用户id不能为空") + private Long userId; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalCreateReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalCreateReqVO.java new file mode 100644 index 0000000..6597c4e --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalCreateReqVO.java @@ -0,0 +1,14 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 业务线和用户关联创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BusinessUserRelationalCreateReqVO extends BusinessUserRelationalBaseVO { + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalExcelVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalExcelVO.java new file mode 100644 index 0000000..f42cf32 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalExcelVO.java @@ -0,0 +1,31 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 业务线和用户关联 Excel VO + * + * @author 长江云息 + */ +@Data +public class BusinessUserRelationalExcelVO { + + @ExcelProperty("主键id") + private Long id; + + @ExcelProperty("业务线id") + private Long businessId; + + @ExcelProperty("用户id") + private Long userId; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalExportReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalExportReqVO.java new file mode 100644 index 0000000..f0a1f88 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalExportReqVO.java @@ -0,0 +1,26 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.yunxi.scm.framework.common.pojo.PageParam; +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; + +import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 业务线和用户关联 Excel 导出 Request VO,参数和 BusinessUserRelationalPageReqVO 是一致的") +@Data +public class BusinessUserRelationalExportReqVO { + + @Schema(description = "业务线id", example = "6353") + private Long businessId; + + @Schema(description = "用户id", example = "5981") + private Long userId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalPageReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalPageReqVO.java new file mode 100644 index 0000000..8704b5e --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalPageReqVO.java @@ -0,0 +1,28 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.yunxi.scm.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 业务线和用户关联分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BusinessUserRelationalPageReqVO extends PageParam { + + @Schema(description = "业务线id", example = "6353") + private Long businessId; + + @Schema(description = "用户id", example = "5981") + private Long userId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalRespVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalRespVO.java new file mode 100644 index 0000000..eb72134 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalRespVO.java @@ -0,0 +1,19 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 业务线和用户关联 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BusinessUserRelationalRespVO extends BusinessUserRelationalBaseVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31510") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalUpdateReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalUpdateReqVO.java new file mode 100644 index 0000000..e251dd9 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businessuserrelational/vo/BusinessUserRelationalUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 业务线和用户关联更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BusinessUserRelationalUpdateReqVO extends BusinessUserRelationalBaseVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31510") + @NotNull(message = "主键id不能为空") + private Long id; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseBaseVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseBaseVO.java index aa9be7d..27abd55 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseBaseVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseBaseVO.java @@ -41,6 +41,12 @@ public class BusinessWarehouseBaseVO { @Schema(description = "状态") private String status; + @Schema(description = "关联机构") + private Integer institutionNum; + + @Schema(description = "成员数量") + private Integer employeeNum; + @Schema(description = "所属行业") private String industry; diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseExcelVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseExcelVO.java index ebbb7ab..0c4e4a5 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseExcelVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseExcelVO.java @@ -1,6 +1,7 @@ package com.yunxi.scm.module.xxjj.controller.admin.businesswarehouse.vo; import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.models.security.SecurityScheme; import lombok.*; import java.util.*; import java.time.LocalDateTime; @@ -44,6 +45,12 @@ public class BusinessWarehouseExcelVO { @ExcelProperty("状态") private String status; + @ExcelProperty("关联机构") + private Integer institutionNum; + + @ExcelProperty("成员数量") + private Integer employeeNum; + @ExcelProperty(value = "所属行业", converter = DictConvert.class) @DictFormat("duty_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 private String industry; diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseExportReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseExportReqVO.java index 87aeec3..0146c37 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseExportReqVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehouseExportReqVO.java @@ -34,6 +34,12 @@ public class BusinessWarehouseExportReqVO { @Schema(description = "状态", example = "1") private String status; + @Schema(description = "关联机构") + private Integer institutionNum; + + @Schema(description = "成员数量") + private Integer employeeNum; + @Schema(description = "所属行业") private String industry; diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehousePageReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehousePageReqVO.java index 3184129..a1e7201 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehousePageReqVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/businesswarehouse/vo/BusinessWarehousePageReqVO.java @@ -36,6 +36,12 @@ public class BusinessWarehousePageReqVO extends PageParam { @Schema(description = "状态", example = "1") private String status; + @Schema(description = "关联机构") + private Integer institutionNum; + + @Schema(description = "成员数量") + private Integer employeeNum; + @Schema(description = "所属行业") private String industry; diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/businessenterpriserelational/BusinessEnterpriseRelationalConvert.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/businessenterpriserelational/BusinessEnterpriseRelationalConvert.java new file mode 100644 index 0000000..50845ee --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/businessenterpriserelational/BusinessEnterpriseRelationalConvert.java @@ -0,0 +1,34 @@ +package com.yunxi.scm.module.xxjj.convert.businessenterpriserelational; + +import java.util.*; + +import com.yunxi.scm.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo.*; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO; + +/** + * 业务线和机构关联 Convert + * + * @author 长江云息 + */ +@Mapper +public interface BusinessEnterpriseRelationalConvert { + + BusinessEnterpriseRelationalConvert INSTANCE = Mappers.getMapper(BusinessEnterpriseRelationalConvert.class); + + BusinessEnterpriseRelationalDO convert(BusinessEnterpriseRelationalCreateReqVO bean); + + BusinessEnterpriseRelationalDO convert(BusinessEnterpriseRelationalUpdateReqVO bean); + + BusinessEnterpriseRelationalRespVO convert(BusinessEnterpriseRelationalDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/businessuserrelational/BusinessUserRelationalConvert.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/businessuserrelational/BusinessUserRelationalConvert.java new file mode 100644 index 0000000..8adc884 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/businessuserrelational/BusinessUserRelationalConvert.java @@ -0,0 +1,34 @@ +package com.yunxi.scm.module.xxjj.convert.businessuserrelational; + +import java.util.*; + +import com.yunxi.scm.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo.*; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessuserrelational.BusinessUserRelationalDO; + +/** + * 业务线和用户关联 Convert + * + * @author 长江云息 + */ +@Mapper +public interface BusinessUserRelationalConvert { + + BusinessUserRelationalConvert INSTANCE = Mappers.getMapper(BusinessUserRelationalConvert.class); + + BusinessUserRelationalDO convert(BusinessUserRelationalCreateReqVO bean); + + BusinessUserRelationalDO convert(BusinessUserRelationalUpdateReqVO bean); + + BusinessUserRelationalRespVO convert(BusinessUserRelationalDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businessenterpriserelational/BusinessEnterpriseRelationalDO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businessenterpriserelational/BusinessEnterpriseRelationalDO.java new file mode 100644 index 0000000..0ace606 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businessenterpriserelational/BusinessEnterpriseRelationalDO.java @@ -0,0 +1,39 @@ +package com.yunxi.scm.module.xxjj.dal.dataobject.businessenterpriserelational; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.yunxi.scm.framework.mybatis.core.dataobject.BaseDO; + +/** + * 业务线和机构关联 DO + * + * @author 长江云息 + */ +@TableName("xxjj_business_enterprise_relational") +@KeySequence("xxjj_business_enterprise_relational_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BusinessEnterpriseRelationalDO extends BaseDO { + + /** + * 主键id + */ + @TableId + private Long id; + /** + * 业务线id + */ + private Long businessId; + /** + * 企业id + */ + private Long enterpriseId; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businessuserrelational/BusinessUserRelationalDO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businessuserrelational/BusinessUserRelationalDO.java new file mode 100644 index 0000000..8aea799 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businessuserrelational/BusinessUserRelationalDO.java @@ -0,0 +1,39 @@ +package com.yunxi.scm.module.xxjj.dal.dataobject.businessuserrelational; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.yunxi.scm.framework.mybatis.core.dataobject.BaseDO; + +/** + * 业务线和用户关联 DO + * + * @author 长江云息 + */ +@TableName("xxjj_business_user_relational") +@KeySequence("xxjj_business_user_relational_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BusinessUserRelationalDO extends BaseDO { + + /** + * 主键id + */ + @TableId + private Long id; + /** + * 业务线id + */ + private Long businessId; + /** + * 用户id + */ + private Long userId; + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businesswarehouse/BusinessWarehouseDO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businesswarehouse/BusinessWarehouseDO.java index 1569420..cfe43e9 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businesswarehouse/BusinessWarehouseDO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/businesswarehouse/BusinessWarehouseDO.java @@ -57,6 +57,14 @@ public class BusinessWarehouseDO extends TenantBaseDO { * 状态 */ private String status; + /** + * 关联机构 + */ + private Integer institutionNum; + /** + * 成员数量 + */ + private Integer employeeNum; /** * 所属行业 * diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businessenterpriserelational/BusinessEnterpriseRelationalMapper.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businessenterpriserelational/BusinessEnterpriseRelationalMapper.java new file mode 100644 index 0000000..c7e98be --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businessenterpriserelational/BusinessEnterpriseRelationalMapper.java @@ -0,0 +1,36 @@ +package com.yunxi.scm.module.xxjj.dal.mysql.businessenterpriserelational; + +import java.util.*; + +import com.yunxi.scm.framework.common.pojo.PageResult; +import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO; +import org.apache.ibatis.annotations.Mapper; +import com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo.*; + +/** + * 业务线和机构关联 Mapper + * + * @author 长江云息 + */ +@Mapper +public interface BusinessEnterpriseRelationalMapper extends BaseMapperX { + + default PageResult selectPage(BusinessEnterpriseRelationalPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessEnterpriseRelationalDO::getBusinessId, reqVO.getBusinessId()) + .eqIfPresent(BusinessEnterpriseRelationalDO::getEnterpriseId, reqVO.getEnterpriseId()) + .betweenIfPresent(BusinessEnterpriseRelationalDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(BusinessEnterpriseRelationalDO::getId)); + } + + default List selectList(BusinessEnterpriseRelationalExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(BusinessEnterpriseRelationalDO::getBusinessId, reqVO.getBusinessId()) + .eqIfPresent(BusinessEnterpriseRelationalDO::getEnterpriseId, reqVO.getEnterpriseId()) + .betweenIfPresent(BusinessEnterpriseRelationalDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(BusinessEnterpriseRelationalDO::getId)); + } + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businessuserrelational/BusinessUserRelationalMapper.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businessuserrelational/BusinessUserRelationalMapper.java new file mode 100644 index 0000000..a7873ef --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businessuserrelational/BusinessUserRelationalMapper.java @@ -0,0 +1,36 @@ +package com.yunxi.scm.module.xxjj.dal.mysql.businessuserrelational; + +import java.util.*; + +import com.yunxi.scm.framework.common.pojo.PageResult; +import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessuserrelational.BusinessUserRelationalDO; +import org.apache.ibatis.annotations.Mapper; +import com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo.*; + +/** + * 业务线和用户关联 Mapper + * + * @author 长江云息 + */ +@Mapper +public interface BusinessUserRelationalMapper extends BaseMapperX { + + default PageResult selectPage(BusinessUserRelationalPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessUserRelationalDO::getBusinessId, reqVO.getBusinessId()) + .eqIfPresent(BusinessUserRelationalDO::getUserId, reqVO.getUserId()) + .betweenIfPresent(BusinessUserRelationalDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(BusinessUserRelationalDO::getId)); + } + + default List selectList(BusinessUserRelationalExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(BusinessUserRelationalDO::getBusinessId, reqVO.getBusinessId()) + .eqIfPresent(BusinessUserRelationalDO::getUserId, reqVO.getUserId()) + .betweenIfPresent(BusinessUserRelationalDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(BusinessUserRelationalDO::getId)); + } + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businesswarehouse/BusinessWarehouseMapper.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businesswarehouse/BusinessWarehouseMapper.java index fe7e653..5a91256 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businesswarehouse/BusinessWarehouseMapper.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/businesswarehouse/BusinessWarehouseMapper.java @@ -26,6 +26,8 @@ public interface BusinessWarehouseMapper extends BaseMapperX getBusinessEnterpriseRelationalList(Collection ids); + + /** + * 获得业务线和机构关联分页 + * + * @param pageReqVO 分页查询 + * @return 业务线和机构关联分页 + */ + PageResult getBusinessEnterpriseRelationalPage(BusinessEnterpriseRelationalPageReqVO pageReqVO); + + /** + * 获得业务线和机构关联列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 业务线和机构关联列表 + */ + List getBusinessEnterpriseRelationalList(BusinessEnterpriseRelationalExportReqVO exportReqVO); + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImpl.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImpl.java new file mode 100644 index 0000000..8621f18 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImpl.java @@ -0,0 +1,82 @@ +package com.yunxi.scm.module.xxjj.service.businessenterpriserelational; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo.*; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO; +import com.yunxi.scm.framework.common.pojo.PageResult; + +import com.yunxi.scm.module.xxjj.convert.businessenterpriserelational.BusinessEnterpriseRelationalConvert; +import com.yunxi.scm.module.xxjj.dal.mysql.businessenterpriserelational.BusinessEnterpriseRelationalMapper; + +import static com.yunxi.scm.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.yunxi.scm.module.xxjj.enums.ErrorCodeConstants.*; + +/** + * 业务线和机构关联 Service 实现类 + * + * @author 长江云息 + */ +@Service +@Validated +public class BusinessEnterpriseRelationalServiceImpl implements BusinessEnterpriseRelationalService { + + @Resource + private BusinessEnterpriseRelationalMapper businessEnterpriseRelationalMapper; + + @Override + public Long createBusinessEnterpriseRelational(BusinessEnterpriseRelationalCreateReqVO createReqVO) { + // 插入 + BusinessEnterpriseRelationalDO businessEnterpriseRelational = BusinessEnterpriseRelationalConvert.INSTANCE.convert(createReqVO); + businessEnterpriseRelationalMapper.insert(businessEnterpriseRelational); + // 返回 + return businessEnterpriseRelational.getId(); + } + + @Override + public void updateBusinessEnterpriseRelational(BusinessEnterpriseRelationalUpdateReqVO updateReqVO) { + // 校验存在 + validateBusinessEnterpriseRelationalExists(updateReqVO.getId()); + // 更新 + BusinessEnterpriseRelationalDO updateObj = BusinessEnterpriseRelationalConvert.INSTANCE.convert(updateReqVO); + businessEnterpriseRelationalMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessEnterpriseRelational(Long id) { + // 校验存在 + validateBusinessEnterpriseRelationalExists(id); + // 删除 + businessEnterpriseRelationalMapper.deleteById(id); + } + + private void validateBusinessEnterpriseRelationalExists(Long id) { + if (businessEnterpriseRelationalMapper.selectById(id) == null) { + throw exception(BUSINESS_ENTERPRISE_RELATIONAL_NOT_EXISTS); + } + } + + @Override + public BusinessEnterpriseRelationalDO getBusinessEnterpriseRelational(Long id) { + return businessEnterpriseRelationalMapper.selectById(id); + } + + @Override + public List getBusinessEnterpriseRelationalList(Collection ids) { + return businessEnterpriseRelationalMapper.selectBatchIds(ids); + } + + @Override + public PageResult getBusinessEnterpriseRelationalPage(BusinessEnterpriseRelationalPageReqVO pageReqVO) { + return businessEnterpriseRelationalMapper.selectPage(pageReqVO); + } + + @Override + public List getBusinessEnterpriseRelationalList(BusinessEnterpriseRelationalExportReqVO exportReqVO) { + return businessEnterpriseRelationalMapper.selectList(exportReqVO); + } + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalService.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalService.java new file mode 100644 index 0000000..98aa8d1 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalService.java @@ -0,0 +1,70 @@ +package com.yunxi.scm.module.xxjj.service.businessuserrelational; + +import java.util.*; +import javax.validation.*; +import com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo.*; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessuserrelational.BusinessUserRelationalDO; +import com.yunxi.scm.framework.common.pojo.PageResult; + +/** + * 业务线和用户关联 Service 接口 + * + * @author 长江云息 + */ +public interface BusinessUserRelationalService { + + /** + * 创建业务线和用户关联 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createBusinessUserRelational(@Valid BusinessUserRelationalCreateReqVO createReqVO); + + /** + * 更新业务线和用户关联 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessUserRelational(@Valid BusinessUserRelationalUpdateReqVO updateReqVO); + + /** + * 删除业务线和用户关联 + * + * @param id 编号 + */ + void deleteBusinessUserRelational(Long id); + + /** + * 获得业务线和用户关联 + * + * @param id 编号 + * @return 业务线和用户关联 + */ + BusinessUserRelationalDO getBusinessUserRelational(Long id); + + /** + * 获得业务线和用户关联列表 + * + * @param ids 编号 + * @return 业务线和用户关联列表 + */ + List getBusinessUserRelationalList(Collection ids); + + /** + * 获得业务线和用户关联分页 + * + * @param pageReqVO 分页查询 + * @return 业务线和用户关联分页 + */ + PageResult getBusinessUserRelationalPage(BusinessUserRelationalPageReqVO pageReqVO); + + /** + * 获得业务线和用户关联列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 业务线和用户关联列表 + */ + List getBusinessUserRelationalList(BusinessUserRelationalExportReqVO exportReqVO); + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalServiceImpl.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalServiceImpl.java new file mode 100644 index 0000000..732f734 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalServiceImpl.java @@ -0,0 +1,82 @@ +package com.yunxi.scm.module.xxjj.service.businessuserrelational; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo.*; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessuserrelational.BusinessUserRelationalDO; +import com.yunxi.scm.framework.common.pojo.PageResult; + +import com.yunxi.scm.module.xxjj.convert.businessuserrelational.BusinessUserRelationalConvert; +import com.yunxi.scm.module.xxjj.dal.mysql.businessuserrelational.BusinessUserRelationalMapper; + +import static com.yunxi.scm.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.yunxi.scm.module.xxjj.enums.ErrorCodeConstants.*; + +/** + * 业务线和用户关联 Service 实现类 + * + * @author 长江云息 + */ +@Service +@Validated +public class BusinessUserRelationalServiceImpl implements BusinessUserRelationalService { + + @Resource + private BusinessUserRelationalMapper businessUserRelationalMapper; + + @Override + public Long createBusinessUserRelational(BusinessUserRelationalCreateReqVO createReqVO) { + // 插入 + BusinessUserRelationalDO businessUserRelational = BusinessUserRelationalConvert.INSTANCE.convert(createReqVO); + businessUserRelationalMapper.insert(businessUserRelational); + // 返回 + return businessUserRelational.getId(); + } + + @Override + public void updateBusinessUserRelational(BusinessUserRelationalUpdateReqVO updateReqVO) { + // 校验存在 + validateBusinessUserRelationalExists(updateReqVO.getId()); + // 更新 + BusinessUserRelationalDO updateObj = BusinessUserRelationalConvert.INSTANCE.convert(updateReqVO); + businessUserRelationalMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessUserRelational(Long id) { + // 校验存在 + validateBusinessUserRelationalExists(id); + // 删除 + businessUserRelationalMapper.deleteById(id); + } + + private void validateBusinessUserRelationalExists(Long id) { + if (businessUserRelationalMapper.selectById(id) == null) { + throw exception(BUSINESS_USER_RELATIONAL_NOT_EXISTS); + } + } + + @Override + public BusinessUserRelationalDO getBusinessUserRelational(Long id) { + return businessUserRelationalMapper.selectById(id); + } + + @Override + public List getBusinessUserRelationalList(Collection ids) { + return businessUserRelationalMapper.selectBatchIds(ids); + } + + @Override + public PageResult getBusinessUserRelationalPage(BusinessUserRelationalPageReqVO pageReqVO) { + return businessUserRelationalMapper.selectPage(pageReqVO); + } + + @Override + public List getBusinessUserRelationalList(BusinessUserRelationalExportReqVO exportReqVO) { + return businessUserRelationalMapper.selectList(exportReqVO); + } + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/businessenterpriserelational/BusinessEnterpriseRelationalMapper.xml b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/businessenterpriserelational/BusinessEnterpriseRelationalMapper.xml new file mode 100644 index 0000000..d02c4b0 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/businessenterpriserelational/BusinessEnterpriseRelationalMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/businessuserrelational/BusinessUserRelationalMapper.xml b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/businessuserrelational/BusinessUserRelationalMapper.xml new file mode 100644 index 0000000..d44875e --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/businessuserrelational/BusinessUserRelationalMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImplTest.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImplTest.java new file mode 100644 index 0000000..b75f307 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/businessenterpriserelational/BusinessEnterpriseRelationalServiceImplTest.java @@ -0,0 +1,167 @@ +package com.yunxi.scm.module.xxjj.service.businessenterpriserelational; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.mock.mockito.MockBean; + +import javax.annotation.Resource; + +import com.yunxi.scm.framework.test.core.ut.BaseDbUnitTest; + +import com.yunxi.scm.module.xxjj.controller.admin.businessenterpriserelational.vo.*; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessenterpriserelational.BusinessEnterpriseRelationalDO; +import com.yunxi.scm.module.xxjj.dal.mysql.businessenterpriserelational.BusinessEnterpriseRelationalMapper; +import com.yunxi.scm.framework.common.pojo.PageResult; + +import javax.annotation.Resource; +import org.springframework.context.annotation.Import; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static com.yunxi.scm.module.xxjj.enums.ErrorCodeConstants.*; +import static com.yunxi.scm.framework.test.core.util.AssertUtils.*; +import static com.yunxi.scm.framework.test.core.util.RandomUtils.*; +import static com.yunxi.scm.framework.common.util.date.LocalDateTimeUtils.*; +import static com.yunxi.scm.framework.common.util.object.ObjectUtils.*; +import static com.yunxi.scm.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link BusinessEnterpriseRelationalServiceImpl} 的单元测试类 + * + * @author 长江云息 + */ +@Import(BusinessEnterpriseRelationalServiceImpl.class) +public class BusinessEnterpriseRelationalServiceImplTest extends BaseDbUnitTest { + + @Resource + private BusinessEnterpriseRelationalServiceImpl businessEnterpriseRelationalService; + + @Resource + private BusinessEnterpriseRelationalMapper businessEnterpriseRelationalMapper; + + @Test + public void testCreateBusinessEnterpriseRelational_success() { + // 准备参数 + BusinessEnterpriseRelationalCreateReqVO reqVO = randomPojo(BusinessEnterpriseRelationalCreateReqVO.class); + + // 调用 + Long businessEnterpriseRelationalId = businessEnterpriseRelationalService.createBusinessEnterpriseRelational(reqVO); + // 断言 + assertNotNull(businessEnterpriseRelationalId); + // 校验记录的属性是否正确 + BusinessEnterpriseRelationalDO businessEnterpriseRelational = businessEnterpriseRelationalMapper.selectById(businessEnterpriseRelationalId); + assertPojoEquals(reqVO, businessEnterpriseRelational); + } + + @Test + public void testUpdateBusinessEnterpriseRelational_success() { + // mock 数据 + BusinessEnterpriseRelationalDO dbBusinessEnterpriseRelational = randomPojo(BusinessEnterpriseRelationalDO.class); + businessEnterpriseRelationalMapper.insert(dbBusinessEnterpriseRelational);// @Sql: 先插入出一条存在的数据 + // 准备参数 + BusinessEnterpriseRelationalUpdateReqVO reqVO = randomPojo(BusinessEnterpriseRelationalUpdateReqVO.class, o -> { + o.setId(dbBusinessEnterpriseRelational.getId()); // 设置更新的 ID + }); + + // 调用 + businessEnterpriseRelationalService.updateBusinessEnterpriseRelational(reqVO); + // 校验是否更新正确 + BusinessEnterpriseRelationalDO businessEnterpriseRelational = businessEnterpriseRelationalMapper.selectById(reqVO.getId()); // 获取最新的 + assertPojoEquals(reqVO, businessEnterpriseRelational); + } + + @Test + public void testUpdateBusinessEnterpriseRelational_notExists() { + // 准备参数 + BusinessEnterpriseRelationalUpdateReqVO reqVO = randomPojo(BusinessEnterpriseRelationalUpdateReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> businessEnterpriseRelationalService.updateBusinessEnterpriseRelational(reqVO), BUSINESS_ENTERPRISE_RELATIONAL_NOT_EXISTS); + } + + @Test + public void testDeleteBusinessEnterpriseRelational_success() { + // mock 数据 + BusinessEnterpriseRelationalDO dbBusinessEnterpriseRelational = randomPojo(BusinessEnterpriseRelationalDO.class); + businessEnterpriseRelationalMapper.insert(dbBusinessEnterpriseRelational);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbBusinessEnterpriseRelational.getId(); + + // 调用 + businessEnterpriseRelationalService.deleteBusinessEnterpriseRelational(id); + // 校验数据不存在了 + assertNull(businessEnterpriseRelationalMapper.selectById(id)); + } + + @Test + public void testDeleteBusinessEnterpriseRelational_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> businessEnterpriseRelationalService.deleteBusinessEnterpriseRelational(id), BUSINESS_ENTERPRISE_RELATIONAL_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetBusinessEnterpriseRelationalPage() { + // mock 数据 + BusinessEnterpriseRelationalDO dbBusinessEnterpriseRelational = randomPojo(BusinessEnterpriseRelationalDO.class, o -> { // 等会查询到 + o.setBusinessId(null); + o.setEnterpriseId(null); + o.setCreateTime(null); + }); + businessEnterpriseRelationalMapper.insert(dbBusinessEnterpriseRelational); + // 测试 businessId 不匹配 + businessEnterpriseRelationalMapper.insert(cloneIgnoreId(dbBusinessEnterpriseRelational, o -> o.setBusinessId(null))); + // 测试 enterpriseId 不匹配 + businessEnterpriseRelationalMapper.insert(cloneIgnoreId(dbBusinessEnterpriseRelational, o -> o.setEnterpriseId(null))); + // 测试 createTime 不匹配 + businessEnterpriseRelationalMapper.insert(cloneIgnoreId(dbBusinessEnterpriseRelational, o -> o.setCreateTime(null))); + // 准备参数 + BusinessEnterpriseRelationalPageReqVO reqVO = new BusinessEnterpriseRelationalPageReqVO(); + reqVO.setBusinessId(null); + reqVO.setEnterpriseId(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + PageResult pageResult = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbBusinessEnterpriseRelational, pageResult.getList().get(0)); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetBusinessEnterpriseRelationalList() { + // mock 数据 + BusinessEnterpriseRelationalDO dbBusinessEnterpriseRelational = randomPojo(BusinessEnterpriseRelationalDO.class, o -> { // 等会查询到 + o.setBusinessId(null); + o.setEnterpriseId(null); + o.setCreateTime(null); + }); + businessEnterpriseRelationalMapper.insert(dbBusinessEnterpriseRelational); + // 测试 businessId 不匹配 + businessEnterpriseRelationalMapper.insert(cloneIgnoreId(dbBusinessEnterpriseRelational, o -> o.setBusinessId(null))); + // 测试 enterpriseId 不匹配 + businessEnterpriseRelationalMapper.insert(cloneIgnoreId(dbBusinessEnterpriseRelational, o -> o.setEnterpriseId(null))); + // 测试 createTime 不匹配 + businessEnterpriseRelationalMapper.insert(cloneIgnoreId(dbBusinessEnterpriseRelational, o -> o.setCreateTime(null))); + // 准备参数 + BusinessEnterpriseRelationalExportReqVO reqVO = new BusinessEnterpriseRelationalExportReqVO(); + reqVO.setBusinessId(null); + reqVO.setEnterpriseId(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + List list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(reqVO); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbBusinessEnterpriseRelational, list.get(0)); + } + +} diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalServiceImplTest.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalServiceImplTest.java new file mode 100644 index 0000000..16e4e50 --- /dev/null +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/businessuserrelational/BusinessUserRelationalServiceImplTest.java @@ -0,0 +1,167 @@ +package com.yunxi.scm.module.xxjj.service.businessuserrelational; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.mock.mockito.MockBean; + +import javax.annotation.Resource; + +import com.yunxi.scm.framework.test.core.ut.BaseDbUnitTest; + +import com.yunxi.scm.module.xxjj.controller.admin.businessuserrelational.vo.*; +import com.yunxi.scm.module.xxjj.dal.dataobject.businessuserrelational.BusinessUserRelationalDO; +import com.yunxi.scm.module.xxjj.dal.mysql.businessuserrelational.BusinessUserRelationalMapper; +import com.yunxi.scm.framework.common.pojo.PageResult; + +import javax.annotation.Resource; +import org.springframework.context.annotation.Import; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static com.yunxi.scm.module.xxjj.enums.ErrorCodeConstants.*; +import static com.yunxi.scm.framework.test.core.util.AssertUtils.*; +import static com.yunxi.scm.framework.test.core.util.RandomUtils.*; +import static com.yunxi.scm.framework.common.util.date.LocalDateTimeUtils.*; +import static com.yunxi.scm.framework.common.util.object.ObjectUtils.*; +import static com.yunxi.scm.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link BusinessUserRelationalServiceImpl} 的单元测试类 + * + * @author 长江云息 + */ +@Import(BusinessUserRelationalServiceImpl.class) +public class BusinessUserRelationalServiceImplTest extends BaseDbUnitTest { + + @Resource + private BusinessUserRelationalServiceImpl businessUserRelationalService; + + @Resource + private BusinessUserRelationalMapper businessUserRelationalMapper; + + @Test + public void testCreateBusinessUserRelational_success() { + // 准备参数 + BusinessUserRelationalCreateReqVO reqVO = randomPojo(BusinessUserRelationalCreateReqVO.class); + + // 调用 + Long businessUserRelationalId = businessUserRelationalService.createBusinessUserRelational(reqVO); + // 断言 + assertNotNull(businessUserRelationalId); + // 校验记录的属性是否正确 + BusinessUserRelationalDO businessUserRelational = businessUserRelationalMapper.selectById(businessUserRelationalId); + assertPojoEquals(reqVO, businessUserRelational); + } + + @Test + public void testUpdateBusinessUserRelational_success() { + // mock 数据 + BusinessUserRelationalDO dbBusinessUserRelational = randomPojo(BusinessUserRelationalDO.class); + businessUserRelationalMapper.insert(dbBusinessUserRelational);// @Sql: 先插入出一条存在的数据 + // 准备参数 + BusinessUserRelationalUpdateReqVO reqVO = randomPojo(BusinessUserRelationalUpdateReqVO.class, o -> { + o.setId(dbBusinessUserRelational.getId()); // 设置更新的 ID + }); + + // 调用 + businessUserRelationalService.updateBusinessUserRelational(reqVO); + // 校验是否更新正确 + BusinessUserRelationalDO businessUserRelational = businessUserRelationalMapper.selectById(reqVO.getId()); // 获取最新的 + assertPojoEquals(reqVO, businessUserRelational); + } + + @Test + public void testUpdateBusinessUserRelational_notExists() { + // 准备参数 + BusinessUserRelationalUpdateReqVO reqVO = randomPojo(BusinessUserRelationalUpdateReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> businessUserRelationalService.updateBusinessUserRelational(reqVO), BUSINESS_USER_RELATIONAL_NOT_EXISTS); + } + + @Test + public void testDeleteBusinessUserRelational_success() { + // mock 数据 + BusinessUserRelationalDO dbBusinessUserRelational = randomPojo(BusinessUserRelationalDO.class); + businessUserRelationalMapper.insert(dbBusinessUserRelational);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbBusinessUserRelational.getId(); + + // 调用 + businessUserRelationalService.deleteBusinessUserRelational(id); + // 校验数据不存在了 + assertNull(businessUserRelationalMapper.selectById(id)); + } + + @Test + public void testDeleteBusinessUserRelational_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> businessUserRelationalService.deleteBusinessUserRelational(id), BUSINESS_USER_RELATIONAL_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetBusinessUserRelationalPage() { + // mock 数据 + BusinessUserRelationalDO dbBusinessUserRelational = randomPojo(BusinessUserRelationalDO.class, o -> { // 等会查询到 + o.setBusinessId(null); + o.setUserId(null); + o.setCreateTime(null); + }); + businessUserRelationalMapper.insert(dbBusinessUserRelational); + // 测试 businessId 不匹配 + businessUserRelationalMapper.insert(cloneIgnoreId(dbBusinessUserRelational, o -> o.setBusinessId(null))); + // 测试 userId 不匹配 + businessUserRelationalMapper.insert(cloneIgnoreId(dbBusinessUserRelational, o -> o.setUserId(null))); + // 测试 createTime 不匹配 + businessUserRelationalMapper.insert(cloneIgnoreId(dbBusinessUserRelational, o -> o.setCreateTime(null))); + // 准备参数 + BusinessUserRelationalPageReqVO reqVO = new BusinessUserRelationalPageReqVO(); + reqVO.setBusinessId(null); + reqVO.setUserId(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + PageResult pageResult = businessUserRelationalService.getBusinessUserRelationalPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbBusinessUserRelational, pageResult.getList().get(0)); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetBusinessUserRelationalList() { + // mock 数据 + BusinessUserRelationalDO dbBusinessUserRelational = randomPojo(BusinessUserRelationalDO.class, o -> { // 等会查询到 + o.setBusinessId(null); + o.setUserId(null); + o.setCreateTime(null); + }); + businessUserRelationalMapper.insert(dbBusinessUserRelational); + // 测试 businessId 不匹配 + businessUserRelationalMapper.insert(cloneIgnoreId(dbBusinessUserRelational, o -> o.setBusinessId(null))); + // 测试 userId 不匹配 + businessUserRelationalMapper.insert(cloneIgnoreId(dbBusinessUserRelational, o -> o.setUserId(null))); + // 测试 createTime 不匹配 + businessUserRelationalMapper.insert(cloneIgnoreId(dbBusinessUserRelational, o -> o.setCreateTime(null))); + // 准备参数 + BusinessUserRelationalExportReqVO reqVO = new BusinessUserRelationalExportReqVO(); + reqVO.setBusinessId(null); + reqVO.setUserId(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + List list = businessUserRelationalService.getBusinessUserRelationalList(reqVO); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbBusinessUserRelational, list.get(0)); + } + +}