From 8d7ad44e25318799b5b294e5d53e0742768af2ea Mon Sep 17 00:00:00 2001 From: tiezx Date: Thu, 17 Jul 2025 12:45:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E8=A1=A8qs=5Fuser?= =?UTF-8?q?=5Fsupplier=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/domain/QsUserSupplier.java | 35 ++--- .../business/domain/bo/QsUserSupplierBo.java | 41 ++++++ .../business/mapper/QsUserSupplierMapper.java | 35 ++++- .../service/IQsUserSupplierService.java | 57 ++++++++ .../impl/QsUserSupplierServiceImpl.java | 126 ++++++++++++++++++ .../mapper/business/QsUserSupplierMapper.xml | 51 ++++++- 6 files changed, 319 insertions(+), 26 deletions(-) create mode 100644 quotation-system/src/main/java/net/ferrum/business/domain/bo/QsUserSupplierBo.java create mode 100644 quotation-system/src/main/java/net/ferrum/business/service/IQsUserSupplierService.java create mode 100644 quotation-system/src/main/java/net/ferrum/business/service/impl/QsUserSupplierServiceImpl.java diff --git a/quotation-system/src/main/java/net/ferrum/business/domain/QsUserSupplier.java b/quotation-system/src/main/java/net/ferrum/business/domain/QsUserSupplier.java index 6bb6671..9d1757f 100644 --- a/quotation-system/src/main/java/net/ferrum/business/domain/QsUserSupplier.java +++ b/quotation-system/src/main/java/net/ferrum/business/domain/QsUserSupplier.java @@ -1,34 +1,35 @@ package net.ferrum.business.domain; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; + +import net.ferrum.common.core.domain.BaseEntity; /** - * 用户-供应商关系表 + * userSupplier对象 qs_user_supplier * - * @author 26554 - * @version 1.0.0 - * @since 2025-03-05 + * @author tzx + * @date 2025-07-13 */ @Data @TableName("qs_user_supplier") -@NoArgsConstructor -@AllArgsConstructor public class QsUserSupplier { - /** - * 用户主键 - */ - @TableField - private Long userId; + private static final long serialVersionUID=1L; /** - * 供应商主键 + * ID + */ + @TableId(value = "id") + private Long id; + /** + * 用户ID + */ + private Long userId; + /** + * 供应商ID */ - @TableField private Long supplierId; } diff --git a/quotation-system/src/main/java/net/ferrum/business/domain/bo/QsUserSupplierBo.java b/quotation-system/src/main/java/net/ferrum/business/domain/bo/QsUserSupplierBo.java new file mode 100644 index 0000000..ee7b651 --- /dev/null +++ b/quotation-system/src/main/java/net/ferrum/business/domain/bo/QsUserSupplierBo.java @@ -0,0 +1,41 @@ +package net.ferrum.business.domain.bo; + +import net.ferrum.common.core.validate.AddGroup; +import net.ferrum.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import net.ferrum.common.core.domain.BaseEntity; + +/** + * userSupplier业务对象 qs_user_supplier + * + * @author tzx + * @date 2025-07-13 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class QsUserSupplierBo extends BaseEntity { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 用户ID + */ + @NotNull(message = "用户ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long userId; + + /** + * 供应商ID + */ + @NotNull(message = "供应商ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long supplierId; + + +} diff --git a/quotation-system/src/main/java/net/ferrum/business/mapper/QsUserSupplierMapper.java b/quotation-system/src/main/java/net/ferrum/business/mapper/QsUserSupplierMapper.java index fb43685..6d6a289 100644 --- a/quotation-system/src/main/java/net/ferrum/business/mapper/QsUserSupplierMapper.java +++ b/quotation-system/src/main/java/net/ferrum/business/mapper/QsUserSupplierMapper.java @@ -1,14 +1,39 @@ package net.ferrum.business.mapper; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.ferrum.business.domain.QsSupplier; import net.ferrum.business.domain.QsUserSupplier; +import net.ferrum.business.domain.bo.QsSupplierBo; +import net.ferrum.business.domain.vo.QsSupplierVo; +import net.ferrum.business.domain.vo.QsUserSupplierVo; +import net.ferrum.common.core.domain.entity.SysUser; import net.ferrum.common.core.mapper.BaseMapperPlus; +import net.ferrum.common.core.page.TableDataInfo; +import net.ferrum.common.utils.BeanCopyUtils; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** - * 用户-供应商关联表 数据层 + * userSupplierMapper接口 * - * @author 26554 - * @version 1.0.0 - * @since 2025-03-05 + * @author tzx + * @date 2025-07-13 */ -public interface QsUserSupplierMapper extends BaseMapperPlus { + +public interface QsUserSupplierMapper extends BaseMapperPlus { + + Page selectSuppliersByUsersPages(@Param("page") Page page,@Param("bo")QsSupplierBo bo); + //Page selectSuppliersByUsersPages(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + + List selectUsersbySupplierId(@Param("supplierId")Long supplierId); + + @Override + default Class currentMapperClass() { + return BaseMapperPlus.super.currentMapperClass(); + } } diff --git a/quotation-system/src/main/java/net/ferrum/business/service/IQsUserSupplierService.java b/quotation-system/src/main/java/net/ferrum/business/service/IQsUserSupplierService.java new file mode 100644 index 0000000..5d03c7e --- /dev/null +++ b/quotation-system/src/main/java/net/ferrum/business/service/IQsUserSupplierService.java @@ -0,0 +1,57 @@ +package net.ferrum.business.service; + +import net.ferrum.business.domain.QsUserSupplier; +import net.ferrum.business.domain.bo.QsSupplierBo; +import net.ferrum.business.domain.vo.QsSupplierVo; +import net.ferrum.business.domain.vo.QsUserSupplierVo; +import net.ferrum.business.domain.bo.QsUserSupplierBo; +import net.ferrum.common.core.page.TableDataInfo; +import net.ferrum.common.core.domain.PageQuery; + + +import java.util.Collection; +import java.util.List; + +/** + * userSupplierService接口 + * + * @author tzx + * @date 2025-07-13 + */ +public interface IQsUserSupplierService { + + /** + * 查询userSupplier + */ + QsUserSupplierVo queryById(Long id); + + /** + * 查询userSupplier列表 + */ + TableDataInfo queryPageList(QsUserSupplierBo bo, PageQuery pageQuery); + + /** + * 查询userSupplier列表 + */ + List queryList(QsUserSupplierBo bo); + + /** + * 新增userSupplier + */ + Boolean insertByBo(QsUserSupplierBo bo); + + /** + * 修改userSupplier + */ + Boolean updateByBo(QsUserSupplierBo bo); + + /** + * 校验并批量删除userSupplier信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 查询userSupplier + */ + TableDataInfo selectSuppliersByUsersPages(QsSupplierBo bo,PageQuery pageQuery); +} diff --git a/quotation-system/src/main/java/net/ferrum/business/service/impl/QsUserSupplierServiceImpl.java b/quotation-system/src/main/java/net/ferrum/business/service/impl/QsUserSupplierServiceImpl.java new file mode 100644 index 0000000..c490eda --- /dev/null +++ b/quotation-system/src/main/java/net/ferrum/business/service/impl/QsUserSupplierServiceImpl.java @@ -0,0 +1,126 @@ +package net.ferrum.business.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import net.ferrum.business.domain.bo.QsSupplierBo; +import net.ferrum.business.domain.vo.QsSupplierVo; +import net.ferrum.common.core.page.TableDataInfo; +import net.ferrum.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Service; +import net.ferrum.business.domain.bo.QsUserSupplierBo; +import net.ferrum.business.domain.vo.QsUserSupplierVo; +import net.ferrum.business.domain.QsUserSupplier; +import net.ferrum.business.mapper.QsUserSupplierMapper; +import net.ferrum.business.service.IQsUserSupplierService; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * userSupplierService业务层处理 + * + * @author tzx + * @date 2025-07-13 + */ +@RequiredArgsConstructor +@Service +public class QsUserSupplierServiceImpl implements IQsUserSupplierService { + + private final QsUserSupplierMapper baseMapper; + + /** + * 查询userSupplier + */ + @Override + public QsUserSupplierVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询userSupplier列表 + */ + @Override + public TableDataInfo queryPageList(QsUserSupplierBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询userSupplier列表 + */ + @Override + public List queryList(QsUserSupplierBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(QsUserSupplierBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getId() != null, QsUserSupplier::getId, bo.getId()); + lqw.eq(bo.getUserId() != null, QsUserSupplier::getUserId, bo.getUserId()); + lqw.eq(bo.getSupplierId() != null, QsUserSupplier::getSupplierId, bo.getSupplierId()); + return lqw; + } + + /** + * 新增userSupplier + */ + @Override + public Boolean insertByBo(QsUserSupplierBo bo) { + QsUserSupplier add = BeanUtil.toBean(bo, QsUserSupplier.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改userSupplier + */ + @Override + public Boolean updateByBo(QsUserSupplierBo bo) { + QsUserSupplier update = BeanUtil.toBean(bo, QsUserSupplier.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(QsUserSupplier entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除userSupplier + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } + + public TableDataInfo selectSuppliersByUsersPages(QsSupplierBo bo,PageQuery pageQuery){ + //return baseMapper.selectSuppliersByUsersPages(bo.getSupplierManager()); + Page result = baseMapper.selectSuppliersByUsersPages(pageQuery.build(),bo); + return TableDataInfo.build(result); + } + + public List selectUsersbySupplierId(@Param("supplierId")Long supplierId){ + //return baseMapper.selectSuppliersByUsersPages(bo.getSupplierManager()); + List result = baseMapper.selectUsersbySupplierId(supplierId); + return result; + } +} diff --git a/quotation-system/src/main/resources/mapper/business/QsUserSupplierMapper.xml b/quotation-system/src/main/resources/mapper/business/QsUserSupplierMapper.xml index d54bb65..9a925ab 100644 --- a/quotation-system/src/main/resources/mapper/business/QsUserSupplierMapper.xml +++ b/quotation-system/src/main/resources/mapper/business/QsUserSupplierMapper.xml @@ -1,12 +1,55 @@ +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - + + + + + + +