From 37938e09c11c93f2517d359e13e12e84d0c16f0f Mon Sep 17 00:00:00 2001 From: HH Date: Fri, 18 Mar 2022 18:25:14 +0800 Subject: [PATCH] GoodsCategoryService and GoodsCategoryMapper --- .../ghy/goods/mapper/GoodsCategoryMapper.java | 50 +++++++++++++ .../com/ghy/goods/mapper/GoodsMapper.java | 8 ++ .../goods/service/GoodsCategoryService.java | 52 +++++++++++++ .../impl/GoodsCategoryServiceImpl.java | 58 ++++++++++++++ .../mapper.goods/GoodsCategoryMapper.xml | 75 ++++++++++++++++++- .../resources/mapper.goods/GoodsMapper.xml | 5 ++ 6 files changed, 245 insertions(+), 3 deletions(-) diff --git a/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsCategoryMapper.java b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsCategoryMapper.java index c37cd2af..72242105 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsCategoryMapper.java +++ b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsCategoryMapper.java @@ -1,8 +1,58 @@ package com.ghy.goods.mapper; +import com.ghy.goods.domain.GoodsCategory; + +import java.util.List; + /** * @author clunt * 商品类别mapper层 */ public interface GoodsCategoryMapper { + + + /** + * @param category 商品属性 + * @return 成功条数 + */ + int insertCategoryGoods(GoodsCategory category); + + /** + * @param category 商品属性 + * @return 成功条数 + */ + int updateGoodsCategory(GoodsCategory category); + + /** + * @param category 商品入参 + * @return 商品集合 + */ + List selectGoodsCategoryList(GoodsCategory category); + + + /** + * @param goodsCategoryId 商品id + * @return 商品 + */ + GoodsCategory selectById(Long goodsCategoryId); + + /** + * 批量删除商品信息 + * + * @param goodsCategoryId 需要删除的数据ID + * @return 结果 + */ + int deleteGoodsCategoryByIds(Long[] goodsCategoryId); + + /** + * @param goodsCategoryName 商品名称 + * @return 商品信息 + */ + GoodsCategory selectByGoodsCategoryName(String goodsCategoryName); + + /** + * @param goodsCategoryCode 商品编码 + * @return 商品信息 + */ + GoodsCategory selectByGoodsCategoryCode(String goodsCategoryCode); } diff --git a/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsMapper.java b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsMapper.java index 67327883..e92e96c4 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsMapper.java +++ b/ghy-goods/src/main/java/com/ghy/goods/mapper/GoodsMapper.java @@ -55,4 +55,12 @@ public interface GoodsMapper { */ public Goods checkGoodsCodeUnique(String goodsCode); + /** + * 用商品类别ID查询一条商品信息 + * 一般用于校验商品类别是否正在被使用 + * + * @param goodsCategoryId 设备类别ID + * @return 商品信息 + */ + Goods selectOneByGoodsCategoryId(Long goodsCategoryId); } diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/GoodsCategoryService.java b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsCategoryService.java index ad8e9c01..c931cf56 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/service/GoodsCategoryService.java +++ b/ghy-goods/src/main/java/com/ghy/goods/service/GoodsCategoryService.java @@ -1,8 +1,60 @@ package com.ghy.goods.service; +import com.ghy.goods.domain.GoodsCategory; + +import java.util.List; + /** * @author clunt * 商品类别接口 */ public interface GoodsCategoryService { + + + /** + * @param goodsCategory 商品类别属性 + * @return 成功条数 + */ + int insertGoodsCategory(GoodsCategory goodsCategory); + + /** + * @param goodsCategory 商品类别属性 + * @return 成功条数 + */ + int updateGoodsCategory(GoodsCategory goodsCategory); + + /** + * @param goodsCategory 商品类别入参 + * @return 商品类别集合 + */ + List selectGoodsCategoryList(GoodsCategory goodsCategory); + + + /** + * @param goodsCategoryId 商品类别id + * @return 商品类别 + */ + GoodsCategory selectById(Long goodsCategoryId); + + /** + * @param ids 商品类别ids + * @return 删除结果 + */ + int deleteGoodsCategoryByIds(String ids); + + /** + * 校验商品类别名称是否重复 + * + * @param goodsCategory 商品类别属性 + * @return 校验结果 true重复 false不重复 + */ + boolean checkGoodsCategoryNameUnique(GoodsCategory goodsCategory); + + /** + * 校验商品类别编码是否重复 + * + * @param goodsCategory 商品类别属性 + * @return 校验结果 true重复 false不重复 + */ + boolean checkGoodsCategoryCodeUnique(GoodsCategory goodsCategory); } diff --git a/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsCategoryServiceImpl.java b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsCategoryServiceImpl.java index f33b4d95..2da46633 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsCategoryServiceImpl.java +++ b/ghy-goods/src/main/java/com/ghy/goods/service/impl/GoodsCategoryServiceImpl.java @@ -1,12 +1,70 @@ package com.ghy.goods.service.impl; +import com.ghy.common.core.text.Convert; +import com.ghy.goods.domain.Goods; +import com.ghy.goods.domain.GoodsCategory; +import com.ghy.goods.mapper.GoodsCategoryMapper; +import com.ghy.goods.mapper.GoodsMapper; import com.ghy.goods.service.GoodsCategoryService; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import javax.annotation.Resource; +import java.util.List; /** * @author clunt * 商品类别impl */ +@Service public class GoodsCategoryServiceImpl implements GoodsCategoryService { + @Resource + private GoodsMapper goodsMapper; + @Resource + GoodsCategoryMapper goodsCategoryMapper; + @Override + public int insertGoodsCategory(GoodsCategory goodsCategory) { + return goodsCategoryMapper.insertCategoryGoods(goodsCategory); + } + + @Override + public int updateGoodsCategory(GoodsCategory goodsCategory) { + return goodsCategoryMapper.updateGoodsCategory(goodsCategory); + } + + @Override + public List selectGoodsCategoryList(GoodsCategory goodsCategory) { + return goodsCategoryMapper.selectGoodsCategoryList(goodsCategory); + } + + @Override + public GoodsCategory selectById(Long goodsCategoryId) { + return goodsCategoryMapper.selectById(goodsCategoryId); + } + + @Override + public int deleteGoodsCategoryByIds(String ids) { + Long[] idArray = Convert.toLongArray(ids); + for (Long id : idArray) { + Goods goods = goodsMapper.selectOneByGoodsCategoryId(id); + Assert.isNull(goods, "正在被使用的商品类别不能删除"); + } + return goodsCategoryMapper.deleteGoodsCategoryByIds(idArray); + } + + @Override + public boolean checkGoodsCategoryNameUnique(GoodsCategory goodsCategory) { + GoodsCategory category = goodsCategoryMapper.selectByGoodsCategoryName(goodsCategory.getGoodsCategoryName()); + if (category == null) return false; + return category.getGoodsCategoryId().equals(goodsCategory.getGoodsCategoryId()); + } + + @Override + public boolean checkGoodsCategoryCodeUnique(GoodsCategory goodsCategory) { + GoodsCategory category = goodsCategoryMapper.selectByGoodsCategoryCode(goodsCategory.getGoodsCategoryCode()); + if (category == null) return false; + return category.getGoodsCategoryId().equals(goodsCategory.getGoodsCategoryId()); + } } diff --git a/ghy-goods/src/main/resources/mapper.goods/GoodsCategoryMapper.xml b/ghy-goods/src/main/resources/mapper.goods/GoodsCategoryMapper.xml index 57888903..480b14da 100644 --- a/ghy-goods/src/main/resources/mapper.goods/GoodsCategoryMapper.xml +++ b/ghy-goods/src/main/resources/mapper.goods/GoodsCategoryMapper.xml @@ -1,8 +1,7 @@ - + + @@ -23,4 +22,74 @@ FROM goods_category + + + + + + UPDATE goods_category + + goods_category_code = #{goodsCategoryCode}, + goods_category_name = #{goodsCategoryName}, + parent_category_id = #{parentCategoryId}, + level = #{level}, + type = #{type}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = sysdate() + + WHERE goods_category_id = #{goodsCategoryId} + + + + DELETE FROM goods_category WHERE goods_category_id IN + + #{goodsCategoryId} + + + + + insert into goods_category( + goods_category_id, + goods_category_code, + goods_category_name, + parent_category_id, + level, + type, + remark, + create_by, + create_time + )values( + #{goodsCategoryId}, + #{goodsCategoryCode}, + #{goodsCategoryName}, + #{parentCategoryId}, + #{level}, + #{type}, + #{remark}, + #{createBy}, + sysdate() + ) + + + + + \ No newline at end of file diff --git a/ghy-goods/src/main/resources/mapper.goods/GoodsMapper.xml b/ghy-goods/src/main/resources/mapper.goods/GoodsMapper.xml index db3fccb2..6ea73f83 100644 --- a/ghy-goods/src/main/resources/mapper.goods/GoodsMapper.xml +++ b/ghy-goods/src/main/resources/mapper.goods/GoodsMapper.xml @@ -99,4 +99,9 @@ where goods_code=#{goodsCode} limit 1 + + \ No newline at end of file