parent
030d992779
commit
a4285bd547
@ -1,14 +1,12 @@
|
||||
package com.yunxi.scm.module.demo.controller.admin.material.vo;
|
||||
package com.yunxi.scm.module.demo.controller.admin.pmaterial.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 MaterialCreateReqVO extends MaterialBaseVO {
|
||||
public class PMaterialCreateReqVO extends PMaterialBaseVO {
|
||||
|
||||
}
|
@ -1,15 +1,15 @@
|
||||
package com.yunxi.scm.module.demo.controller.admin.material.vo;
|
||||
package com.yunxi.scm.module.demo.controller.admin.pmaterial.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 MaterialUpdateReqVO extends MaterialBaseVO {
|
||||
public class PMaterialUpdateReqVO extends PMaterialBaseVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14541")
|
||||
@NotNull(message = "ID不能为空")
|
@ -1,37 +0,0 @@
|
||||
package com.yunxi.scm.module.demo.convert.material;
|
||||
|
||||
import com.yunxi.scm.framework.common.pojo.PageResult;
|
||||
import com.yunxi.scm.module.demo.controller.admin.material.vo.*;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialXDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 物料管理 Convert
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Mapper
|
||||
public interface MaterialConvert {
|
||||
|
||||
MaterialConvert INSTANCE = Mappers.getMapper(MaterialConvert.class);
|
||||
|
||||
MaterialDO convert(MaterialCreateReqVO bean);
|
||||
|
||||
MaterialDO convert(MaterialUpdateReqVO bean);
|
||||
|
||||
MaterialRespVO convert(MaterialDO bean);
|
||||
|
||||
List<MaterialRespVO> convertList(List<MaterialDO> list);
|
||||
|
||||
PageResult<MaterialRespVO> convertPage(PageResult<MaterialDO> page);
|
||||
|
||||
List<MaterialExcelVO> convertList02(List<MaterialDO> list);
|
||||
|
||||
|
||||
List<MaterialExportTestVO> convertList03(List<MaterialXDO> list);
|
||||
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package com.yunxi.scm.module.demo.convert.material;
|
||||
|
||||
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialExportTestVO;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialXDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 物料管理 Convert
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Mapper
|
||||
public interface MaterialXConvert {
|
||||
|
||||
MaterialXConvert INSTANCE = Mappers.getMapper(MaterialXConvert.class);
|
||||
|
||||
MaterialExportTestVO convert(MaterialXDO xdo);
|
||||
|
||||
List<MaterialExportTestVO> convertList03(List<MaterialXDO> list);
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package com.yunxi.scm.module.demo.convert.pmaterial;
|
||||
|
||||
import com.yunxi.scm.framework.common.pojo.PageResult;
|
||||
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.*;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialDO;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialXDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 物料管理 Convert
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Mapper
|
||||
public interface PMaterialConvert {
|
||||
|
||||
PMaterialConvert INSTANCE = Mappers.getMapper(PMaterialConvert.class);
|
||||
|
||||
PMaterialDO convert(PMaterialCreateReqVO bean);
|
||||
|
||||
PMaterialDO convert(PMaterialUpdateReqVO bean);
|
||||
|
||||
PMaterialRespVO convert(PMaterialDO bean);
|
||||
|
||||
List<PMaterialRespVO> convertList(List<PMaterialDO> list);
|
||||
|
||||
PageResult<PMaterialRespVO> convertPage(PageResult<PMaterialDO> page);
|
||||
|
||||
List<PMaterialExcelVO> convertList02(List<PMaterialDO> list);
|
||||
|
||||
|
||||
List<PMaterialExportTestVO> convertList03(List<PMaterialXDO> list);
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.yunxi.scm.module.demo.convert.pmaterial;
|
||||
|
||||
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialExportTestVO;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialXDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 物料管理 Convert
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Mapper
|
||||
public interface PMaterialXConvert {
|
||||
|
||||
PMaterialXConvert INSTANCE = Mappers.getMapper(PMaterialXConvert.class);
|
||||
|
||||
PMaterialExportTestVO convert(PMaterialXDO xdo);
|
||||
|
||||
List<PMaterialExportTestVO> convertList03(List<PMaterialXDO> list);
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
package com.yunxi.scm.module.demo.dal.mysql.material;
|
||||
|
||||
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialXDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 测试专用 Mapper
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Mapper
|
||||
public interface MaterialXMapper extends BaseMapperX<MaterialXDO> {
|
||||
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
package com.yunxi.scm.module.demo.dal.mysql.material;
|
||||
|
||||
import com.yunxi.scm.framework.common.pojo.PageResult;
|
||||
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialExportReqVO;
|
||||
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialPageReqVO;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 物料管理 Mapper
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Mapper
|
||||
public interface PMaterialMapper extends BaseMapperX<MaterialDO> {
|
||||
|
||||
default PageResult<MaterialDO> selectPage(MaterialPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<MaterialDO>()
|
||||
.likeIfPresent(MaterialDO::getName, reqVO.getName())
|
||||
.eqIfPresent(MaterialDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(MaterialDO::getType, reqVO.getType())
|
||||
.likeIfPresent(MaterialDO::getCategories, reqVO.getCategory())
|
||||
.betweenIfPresent(MaterialDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(MaterialDO::getId));
|
||||
}
|
||||
|
||||
default List<MaterialDO> selectList(MaterialExportReqVO reqVO) {
|
||||
return selectList(new LambdaQueryWrapperX<MaterialDO>()
|
||||
.likeIfPresent(MaterialDO::getName, reqVO.getName())
|
||||
.eqIfPresent(MaterialDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(MaterialDO::getType, reqVO.getType())
|
||||
.likeIfPresent(MaterialDO::getCategories, reqVO.getCategory())
|
||||
.betweenIfPresent(MaterialDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(MaterialDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package com.yunxi.scm.module.demo.dal.mysql.pmaterial;
|
||||
|
||||
import com.yunxi.scm.framework.common.pojo.PageResult;
|
||||
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialExportReqVO;
|
||||
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialPageReqVO;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 物料管理 Mapper
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Mapper
|
||||
public interface PMaterialMapper extends BaseMapperX<PMaterialDO> {
|
||||
|
||||
default PageResult<PMaterialDO> selectPage(PMaterialPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<PMaterialDO>()
|
||||
.likeIfPresent(PMaterialDO::getName, reqVO.getName())
|
||||
.eqIfPresent(PMaterialDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(PMaterialDO::getType, reqVO.getType())
|
||||
.likeIfPresent(PMaterialDO::getCategories, reqVO.getCategory())
|
||||
.betweenIfPresent(PMaterialDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(PMaterialDO::getId));
|
||||
}
|
||||
|
||||
default List<PMaterialDO> selectList(PMaterialExportReqVO reqVO) {
|
||||
return selectList(new LambdaQueryWrapperX<PMaterialDO>()
|
||||
.likeIfPresent(PMaterialDO::getName, reqVO.getName())
|
||||
.eqIfPresent(PMaterialDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(PMaterialDO::getType, reqVO.getType())
|
||||
.likeIfPresent(PMaterialDO::getCategories, reqVO.getCategory())
|
||||
.betweenIfPresent(PMaterialDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(PMaterialDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.yunxi.scm.module.demo.dal.mysql.pmaterial;
|
||||
|
||||
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialXDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 测试专用 Mapper
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Mapper
|
||||
public interface PMaterialXMapper extends BaseMapperX<PMaterialXDO> {
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.yunxi.scm.module.demo.enums.material;
|
||||
package com.yunxi.scm.module.demo.enums.pmaterial;
|
||||
|
||||
import com.yunxi.scm.framework.common.core.IntArrayValuable;
|
||||
import lombok.AllArgsConstructor;
|
@ -1,85 +0,0 @@
|
||||
package com.yunxi.scm.module.demo.service.material;
|
||||
|
||||
import com.yunxi.scm.framework.common.pojo.PageResult;
|
||||
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialCreateReqVO;
|
||||
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialExportReqVO;
|
||||
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialPageReqVO;
|
||||
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialUpdateReqVO;
|
||||
import com.yunxi.scm.module.demo.convert.material.MaterialConvert;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO;
|
||||
import com.yunxi.scm.module.demo.dal.mysql.material.PMaterialMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import static com.yunxi.scm.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.yunxi.scm.module.demo.enums.ErrorCodeConstants.MATERIAL_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 物料管理 Service 实现类
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class PMaterialServiceImpl implements PMaterialService {
|
||||
|
||||
@Resource
|
||||
private PMaterialMapper materialMapper;
|
||||
|
||||
@Override
|
||||
public Long createMaterial(MaterialCreateReqVO createReqVO) {
|
||||
// 插入
|
||||
MaterialDO material = MaterialConvert.INSTANCE.convert(createReqVO);
|
||||
materialMapper.insert(material);
|
||||
// 返回
|
||||
return material.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateMaterial(MaterialUpdateReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateMaterialExists(updateReqVO.getId());
|
||||
// 更新
|
||||
MaterialDO updateObj = MaterialConvert.INSTANCE.convert(updateReqVO);
|
||||
materialMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteMaterial(Long id) {
|
||||
// 校验存在
|
||||
validateMaterialExists(id);
|
||||
// 删除
|
||||
materialMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateMaterialExists(Long id) {
|
||||
if (materialMapper.selectById(id) == null) {
|
||||
throw exception(MATERIAL_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialDO getMaterial(Long id) {
|
||||
return materialMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MaterialDO> getMaterialList(Collection<Long> ids) {
|
||||
return materialMapper.selectBatchIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<MaterialDO> getMaterialPage(MaterialPageReqVO pageReqVO) {
|
||||
return materialMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MaterialDO> getMaterialList(MaterialExportReqVO exportReqVO) {
|
||||
return materialMapper.selectList(exportReqVO);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
package com.yunxi.scm.module.demo.service.pmaterial;
|
||||
|
||||
import com.yunxi.scm.framework.common.pojo.PageResult;
|
||||
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialCreateReqVO;
|
||||
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialExportReqVO;
|
||||
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialPageReqVO;
|
||||
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialUpdateReqVO;
|
||||
import com.yunxi.scm.module.demo.convert.pmaterial.PMaterialConvert;
|
||||
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialDO;
|
||||
import com.yunxi.scm.module.demo.dal.mysql.pmaterial.PMaterialMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import static com.yunxi.scm.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.yunxi.scm.module.demo.enums.ErrorCodeConstants.MATERIAL_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 物料管理 Service 实现类
|
||||
*
|
||||
* @author ccongli
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class PMaterialServiceImpl implements PMaterialService {
|
||||
|
||||
@Resource
|
||||
private PMaterialMapper pMaterialMapper;
|
||||
|
||||
@Override
|
||||
public Long createMaterial(PMaterialCreateReqVO createReqVO) {
|
||||
// 插入
|
||||
PMaterialDO material = PMaterialConvert.INSTANCE.convert(createReqVO);
|
||||
pMaterialMapper.insert(material);
|
||||
// 返回
|
||||
return material.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateMaterial(PMaterialUpdateReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateMaterialExists(updateReqVO.getId());
|
||||
// 更新
|
||||
PMaterialDO updateObj = PMaterialConvert.INSTANCE.convert(updateReqVO);
|
||||
pMaterialMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteMaterial(Long id) {
|
||||
// 校验存在
|
||||
validateMaterialExists(id);
|
||||
// 删除
|
||||
pMaterialMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateMaterialExists(Long id) {
|
||||
if (pMaterialMapper.selectById(id) == null) {
|
||||
throw exception(MATERIAL_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public PMaterialDO getMaterial(Long id) {
|
||||
return pMaterialMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PMaterialDO> getMaterialList(Collection<Long> ids) {
|
||||
return pMaterialMapper.selectBatchIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<PMaterialDO> getMaterialPage(PMaterialPageReqVO pageReqVO) {
|
||||
return pMaterialMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PMaterialDO> getMaterialList(PMaterialExportReqVO exportReqVO) {
|
||||
return pMaterialMapper.selectList(exportReqVO);
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
<?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.demo.dal.mysql.material.PMaterialMapper">
|
||||
<mapper namespace="com.yunxi.scm.module.demo.dal.mysql.pmaterial.PMaterialMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
Loading…
Reference in new issue