解决冲突

qhw-dev-0927
tengxi 1 year ago
commit 13f7735e79

@ -156,7 +156,9 @@ export enum DICT_TYPE {
// ============= BUSINESSLINE 模块================= // ============= BUSINESSLINE 模块=================
BUSINESS_TYPE = 'business_type', //业务线类型 BUSINESS_TYPE = 'business_type', //业务线类型
DIFF_FLAG = 'diff_flag', DIFF_FLAG = 'diff_flag',
// ============= ENTERPRISEBRANCHING 模块================= // ============= ENTERPRISEBRANCHING 模块=================
ENTERPRISE_TYPE = 'enterprise_type', //业务线类型 ENTERPRISE_TYPE = 'enterprise_type', //业务线类型
CLASS_STATUS = 'class_status',
} }

@ -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<Long> createBusinessEnterpriseRelational(@Valid @RequestBody BusinessEnterpriseRelationalCreateReqVO createReqVO) {
return success(businessEnterpriseRelationalService.createBusinessEnterpriseRelational(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新业务线和机构关联")
@PreAuthorize("@ss.hasPermission('xxjj:business-enterprise-relational:update')")
public CommonResult<Boolean> 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<Boolean> 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<BusinessEnterpriseRelationalRespVO> 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<List<BusinessEnterpriseRelationalRespVO>> getBusinessEnterpriseRelationalList(@RequestParam("ids") Collection<Long> ids) {
List<BusinessEnterpriseRelationalDO> list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(ids);
return success(BusinessEnterpriseRelationalConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得业务线和机构关联分页")
@PreAuthorize("@ss.hasPermission('xxjj:business-enterprise-relational:query')")
public CommonResult<PageResult<BusinessEnterpriseRelationalRespVO>> getBusinessEnterpriseRelationalPage(@Valid BusinessEnterpriseRelationalPageReqVO pageVO) {
PageResult<BusinessEnterpriseRelationalDO> 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<BusinessEnterpriseRelationalDO> list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(exportReqVO);
// 导出 Excel
List<BusinessEnterpriseRelationalExcelVO> datas = BusinessEnterpriseRelationalConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "业务线和机构关联.xls", "数据", BusinessEnterpriseRelationalExcelVO.class, datas);
}
}

@ -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;
}

@ -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 {
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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<Long> createBusinessUserRelational(@Valid @RequestBody BusinessUserRelationalCreateReqVO createReqVO) {
return success(businessUserRelationalService.createBusinessUserRelational(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新业务线和用户关联")
@PreAuthorize("@ss.hasPermission('xxjj:business-user-relational:update')")
public CommonResult<Boolean> 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<Boolean> 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<BusinessUserRelationalRespVO> 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<List<BusinessUserRelationalRespVO>> getBusinessUserRelationalList(@RequestParam("ids") Collection<Long> ids) {
List<BusinessUserRelationalDO> list = businessUserRelationalService.getBusinessUserRelationalList(ids);
return success(BusinessUserRelationalConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得业务线和用户关联分页")
@PreAuthorize("@ss.hasPermission('xxjj:business-user-relational:query')")
public CommonResult<PageResult<BusinessUserRelationalRespVO>> getBusinessUserRelationalPage(@Valid BusinessUserRelationalPageReqVO pageVO) {
PageResult<BusinessUserRelationalDO> 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<BusinessUserRelationalDO> list = businessUserRelationalService.getBusinessUserRelationalList(exportReqVO);
// 导出 Excel
List<BusinessUserRelationalExcelVO> datas = BusinessUserRelationalConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "业务线和用户关联.xls", "数据", BusinessUserRelationalExcelVO.class, datas);
}
}

@ -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;
}

@ -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 {
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -41,6 +41,12 @@ public class BusinessWarehouseBaseVO {
@Schema(description = "状态") @Schema(description = "状态")
private String status; private String status;
@Schema(description = "关联机构")
private Integer institutionNum;
@Schema(description = "成员数量")
private Integer employeeNum;
@Schema(description = "所属行业") @Schema(description = "所属行业")
private String industry; private String industry;

@ -1,6 +1,7 @@
package com.yunxi.scm.module.xxjj.controller.admin.businesswarehouse.vo; package com.yunxi.scm.module.xxjj.controller.admin.businesswarehouse.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.models.security.SecurityScheme;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -44,6 +45,12 @@ public class BusinessWarehouseExcelVO {
@ExcelProperty("状态") @ExcelProperty("状态")
private String status; private String status;
@ExcelProperty("关联机构")
private Integer institutionNum;
@ExcelProperty("成员数量")
private Integer employeeNum;
@ExcelProperty(value = "所属行业", converter = DictConvert.class) @ExcelProperty(value = "所属行业", converter = DictConvert.class)
@DictFormat("duty_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat("duty_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String industry; private String industry;

@ -34,6 +34,12 @@ public class BusinessWarehouseExportReqVO {
@Schema(description = "状态", example = "1") @Schema(description = "状态", example = "1")
private String status; private String status;
@Schema(description = "关联机构")
private Integer institutionNum;
@Schema(description = "成员数量")
private Integer employeeNum;
@Schema(description = "所属行业") @Schema(description = "所属行业")
private String industry; private String industry;

@ -36,6 +36,12 @@ public class BusinessWarehousePageReqVO extends PageParam {
@Schema(description = "状态", example = "1") @Schema(description = "状态", example = "1")
private String status; private String status;
@Schema(description = "关联机构")
private Integer institutionNum;
@Schema(description = "成员数量")
private Integer employeeNum;
@Schema(description = "所属行业") @Schema(description = "所属行业")
private String industry; private String industry;

@ -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<BusinessEnterpriseRelationalRespVO> convertList(List<BusinessEnterpriseRelationalDO> list);
PageResult<BusinessEnterpriseRelationalRespVO> convertPage(PageResult<BusinessEnterpriseRelationalDO> page);
List<BusinessEnterpriseRelationalExcelVO> convertList02(List<BusinessEnterpriseRelationalDO> list);
}

@ -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<BusinessUserRelationalRespVO> convertList(List<BusinessUserRelationalDO> list);
PageResult<BusinessUserRelationalRespVO> convertPage(PageResult<BusinessUserRelationalDO> page);
List<BusinessUserRelationalExcelVO> convertList02(List<BusinessUserRelationalDO> list);
}

@ -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;
}

@ -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;
}

@ -57,6 +57,14 @@ public class BusinessWarehouseDO extends TenantBaseDO {
* *
*/ */
private String status; private String status;
/**
*
*/
private Integer institutionNum;
/**
*
*/
private Integer employeeNum;
/** /**
* *
* *

@ -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<BusinessEnterpriseRelationalDO> {
default PageResult<BusinessEnterpriseRelationalDO> selectPage(BusinessEnterpriseRelationalPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessEnterpriseRelationalDO>()
.eqIfPresent(BusinessEnterpriseRelationalDO::getBusinessId, reqVO.getBusinessId())
.eqIfPresent(BusinessEnterpriseRelationalDO::getEnterpriseId, reqVO.getEnterpriseId())
.betweenIfPresent(BusinessEnterpriseRelationalDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessEnterpriseRelationalDO::getId));
}
default List<BusinessEnterpriseRelationalDO> selectList(BusinessEnterpriseRelationalExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<BusinessEnterpriseRelationalDO>()
.eqIfPresent(BusinessEnterpriseRelationalDO::getBusinessId, reqVO.getBusinessId())
.eqIfPresent(BusinessEnterpriseRelationalDO::getEnterpriseId, reqVO.getEnterpriseId())
.betweenIfPresent(BusinessEnterpriseRelationalDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessEnterpriseRelationalDO::getId));
}
}

@ -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<BusinessUserRelationalDO> {
default PageResult<BusinessUserRelationalDO> selectPage(BusinessUserRelationalPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessUserRelationalDO>()
.eqIfPresent(BusinessUserRelationalDO::getBusinessId, reqVO.getBusinessId())
.eqIfPresent(BusinessUserRelationalDO::getUserId, reqVO.getUserId())
.betweenIfPresent(BusinessUserRelationalDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessUserRelationalDO::getId));
}
default List<BusinessUserRelationalDO> selectList(BusinessUserRelationalExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<BusinessUserRelationalDO>()
.eqIfPresent(BusinessUserRelationalDO::getBusinessId, reqVO.getBusinessId())
.eqIfPresent(BusinessUserRelationalDO::getUserId, reqVO.getUserId())
.betweenIfPresent(BusinessUserRelationalDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessUserRelationalDO::getId));
}
}

@ -26,6 +26,8 @@ public interface BusinessWarehouseMapper extends BaseMapperX<BusinessWarehouseDO
.eqIfPresent(BusinessWarehouseDO::getParentId, reqVO.getParentId()) .eqIfPresent(BusinessWarehouseDO::getParentId, reqVO.getParentId())
.eqIfPresent(BusinessWarehouseDO::getType, reqVO.getType()) .eqIfPresent(BusinessWarehouseDO::getType, reqVO.getType())
.eqIfPresent(BusinessWarehouseDO::getStatus, reqVO.getStatus()) .eqIfPresent(BusinessWarehouseDO::getStatus, reqVO.getStatus())
.eqIfPresent(BusinessWarehouseDO::getInstitutionNum, reqVO.getInstitutionNum())
.eqIfPresent(BusinessWarehouseDO::getEmployeeNum, reqVO.getEmployeeNum())
.eqIfPresent(BusinessWarehouseDO::getIndustry, reqVO.getIndustry()) .eqIfPresent(BusinessWarehouseDO::getIndustry, reqVO.getIndustry())
.eqIfPresent(BusinessWarehouseDO::getCity, reqVO.getCity()) .eqIfPresent(BusinessWarehouseDO::getCity, reqVO.getCity())
.betweenIfPresent(BusinessWarehouseDO::getEstablishDate, reqVO.getEstablishDate()) .betweenIfPresent(BusinessWarehouseDO::getEstablishDate, reqVO.getEstablishDate())
@ -48,6 +50,8 @@ public interface BusinessWarehouseMapper extends BaseMapperX<BusinessWarehouseDO
.eqIfPresent(BusinessWarehouseDO::getParentId, reqVO.getParentId()) .eqIfPresent(BusinessWarehouseDO::getParentId, reqVO.getParentId())
.eqIfPresent(BusinessWarehouseDO::getType, reqVO.getType()) .eqIfPresent(BusinessWarehouseDO::getType, reqVO.getType())
.eqIfPresent(BusinessWarehouseDO::getStatus, reqVO.getStatus()) .eqIfPresent(BusinessWarehouseDO::getStatus, reqVO.getStatus())
.eqIfPresent(BusinessWarehouseDO::getInstitutionNum, reqVO.getInstitutionNum())
.eqIfPresent(BusinessWarehouseDO::getEmployeeNum, reqVO.getEmployeeNum())
.eqIfPresent(BusinessWarehouseDO::getIndustry, reqVO.getIndustry()) .eqIfPresent(BusinessWarehouseDO::getIndustry, reqVO.getIndustry())
.eqIfPresent(BusinessWarehouseDO::getCity, reqVO.getCity()) .eqIfPresent(BusinessWarehouseDO::getCity, reqVO.getCity())
.betweenIfPresent(BusinessWarehouseDO::getEstablishDate, reqVO.getEstablishDate()) .betweenIfPresent(BusinessWarehouseDO::getEstablishDate, reqVO.getEstablishDate())

@ -44,6 +44,12 @@ public interface ErrorCodeConstants {
// ========== 业务线/仓库 TODO 补充编号 ========== // ========== 业务线/仓库 TODO 补充编号 ==========
ErrorCode BUSINESS_WAREHOUSE_NOT_EXISTS = new ErrorCode(1002025019, "业务线/仓库不存在"); ErrorCode BUSINESS_WAREHOUSE_NOT_EXISTS = new ErrorCode(1002025019, "业务线/仓库不存在");
// ========== 业务线和用户关联 TODO 补充编号 ==========
ErrorCode BUSINESS_USER_RELATIONAL_NOT_EXISTS = new ErrorCode(1002025020, "业务线和用户关联不存在");
// ========== 业务线和机构关联 TODO 补充编号 ==========
ErrorCode BUSINESS_ENTERPRISE_RELATIONAL_NOT_EXISTS = new ErrorCode(1002025021, "业务线和机构关联不存在");
// ========== 部门模块 1002004000 ========== // ========== 部门模块 1002004000 ==========
ErrorCode MaterialCategory_NAME_DUPLICATE = new ErrorCode(1002004000, "已经存在该名字的部门"); ErrorCode MaterialCategory_NAME_DUPLICATE = new ErrorCode(1002004000, "已经存在该名字的部门");

@ -0,0 +1,70 @@
package com.yunxi.scm.module.xxjj.service.businessenterpriserelational;
import java.util.*;
import javax.validation.*;
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;
/**
* 线 Service
*
* @author
*/
public interface BusinessEnterpriseRelationalService {
/**
* 线
*
* @param createReqVO
* @return
*/
Long createBusinessEnterpriseRelational(@Valid BusinessEnterpriseRelationalCreateReqVO createReqVO);
/**
* 线
*
* @param updateReqVO
*/
void updateBusinessEnterpriseRelational(@Valid BusinessEnterpriseRelationalUpdateReqVO updateReqVO);
/**
* 线
*
* @param id
*/
void deleteBusinessEnterpriseRelational(Long id);
/**
* 线
*
* @param id
* @return 线
*/
BusinessEnterpriseRelationalDO getBusinessEnterpriseRelational(Long id);
/**
* 线
*
* @param ids
* @return 线
*/
List<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalList(Collection<Long> ids);
/**
* 线
*
* @param pageReqVO
* @return 线
*/
PageResult<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalPage(BusinessEnterpriseRelationalPageReqVO pageReqVO);
/**
* 线, Excel
*
* @param exportReqVO
* @return 线
*/
List<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalList(BusinessEnterpriseRelationalExportReqVO exportReqVO);
}

@ -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<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalList(Collection<Long> ids) {
return businessEnterpriseRelationalMapper.selectBatchIds(ids);
}
@Override
public PageResult<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalPage(BusinessEnterpriseRelationalPageReqVO pageReqVO) {
return businessEnterpriseRelationalMapper.selectPage(pageReqVO);
}
@Override
public List<BusinessEnterpriseRelationalDO> getBusinessEnterpriseRelationalList(BusinessEnterpriseRelationalExportReqVO exportReqVO) {
return businessEnterpriseRelationalMapper.selectList(exportReqVO);
}
}

@ -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<BusinessUserRelationalDO> getBusinessUserRelationalList(Collection<Long> ids);
/**
* 线
*
* @param pageReqVO
* @return 线
*/
PageResult<BusinessUserRelationalDO> getBusinessUserRelationalPage(BusinessUserRelationalPageReqVO pageReqVO);
/**
* 线, Excel
*
* @param exportReqVO
* @return 线
*/
List<BusinessUserRelationalDO> getBusinessUserRelationalList(BusinessUserRelationalExportReqVO exportReqVO);
}

@ -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<BusinessUserRelationalDO> getBusinessUserRelationalList(Collection<Long> ids) {
return businessUserRelationalMapper.selectBatchIds(ids);
}
@Override
public PageResult<BusinessUserRelationalDO> getBusinessUserRelationalPage(BusinessUserRelationalPageReqVO pageReqVO) {
return businessUserRelationalMapper.selectPage(pageReqVO);
}
@Override
public List<BusinessUserRelationalDO> getBusinessUserRelationalList(BusinessUserRelationalExportReqVO exportReqVO) {
return businessUserRelationalMapper.selectList(exportReqVO);
}
}

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yunxi.scm.module.xxjj.dal.mysql.businessenterpriserelational.BusinessEnterpriseRelationalMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yunxi.scm.module.xxjj.dal.mysql.businessuserrelational.BusinessUserRelationalMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -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<BusinessEnterpriseRelationalDO> 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<BusinessEnterpriseRelationalDO> list = businessEnterpriseRelationalService.getBusinessEnterpriseRelationalList(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbBusinessEnterpriseRelational, list.get(0));
}
}

@ -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<BusinessUserRelationalDO> 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<BusinessUserRelationalDO> list = businessUserRelationalService.getBusinessUserRelationalList(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbBusinessUserRelational, list.get(0));
}
}
Loading…
Cancel
Save