提交 eedd79cb 作者: xiaowang

修改:商城规格详情及编辑

上级 58b7c127
package com.mmc.pms.dao.mall;
import com.mmc.pms.entity.SkuUnitDO;
import com.mmc.pms.entity.mall.*;
import com.mmc.pms.model.mall.MallGoodsVO;
import com.mmc.pms.model.mall.SpecAttrVO;
import com.mmc.pms.model.sale.qo.MallGoodsInfoQO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -21,34 +21,16 @@ public interface MallGoodsDao {
void insertMallGoodsBaseInfo(MallGoodsDO mallGoodsDO);
void insertGoodsSpec(GoodsSpecDO goodsSpecDO);
void batchInsertSpecValues(List<GoodsSpecValuesDO> goodsSpecValuesList);
void batchInsertMallGoodsResources(List<MallGoodsResourcesDO> mallGoodsResourcesList);
MallGoodsDO getMallGoodsBaseInfo(Integer id);
List<MallGoodsResourcesDO> getMallGoodsResources(Integer id);
List<GoodsSpecDO> getMallGoodsSpec(Integer id);
List<GoodsSpecValuesDO> getMallGoodsSpecValues(List<Integer> ids);
void updateMallGoods(@Param("mallGoodsDO") MallGoodsDO mallGoodsDO);
void deleteMallGoodsResources(Integer id);
void deleteGoodsSpec(List<Integer> deleteSpec);
void updateGoodsSpec(GoodsSpecDO goodsSpecDO);
void deleteGoodsSpecValues(List<Integer> deleteSpecValueId);
void updateGoodsSpecValue(GoodsSpecValuesDO goodsSpecValuesDO);
List<SkuUnitDO> getSkuUnit();
int countListMallGoods(MallGoodsInfoQO param);
List<MallGoodsDO> listMallGoods(MallGoodsInfoQO param);
......@@ -61,7 +43,25 @@ public interface MallGoodsDao {
void feignRemoveGoodsByBackUserAccountId(Integer id);
void batchInsertSpecAttr(List<SpecAttrDO> list);
void batchInsertSpecAttr(List<SpecAttrValueDO> list);
void batchInsertPriceStock(List<PriceStockDO> list);
List<SpecAttrDO> listSpecAttr(Integer id);
List<PriceStockDO> listPriceStock(Integer id);
void insertSpecAttr(SpecAttrDO specAttrDO);
List<SpecAttrValueDO> listSpecAttrValue(List<Integer> specIds);
void deleteMallPriceStock(Integer id);
void deleteSpecAttr(List<Integer> delIds);
void updateSpecAttr(SpecAttrVO specAttrVO);
void deleteSpecAttrValue(List<Integer> delValueIds);
void updateSpecAttrValue(SpecAttrVO attrVO);
}
......@@ -94,7 +94,7 @@ public class MallGoodsDO implements Serializable {
public MallGoodsVO buildMallGoodsVO() {
return MallGoodsVO.builder().id(id).userAccountId(userAccountId).tradeName(tradeName).description(description)
.categoryPrimaryId(categoryPrimaryId).categorySubId(categorySubId).shelfStatus(shelfStatus)
.goodsLabel(goodsLabel).labelShow(labelShow).goodsDetails(goodsDetails).build();
.goodsLabel(goodsLabel).labelShow(labelShow).createTime(createTime).goodsDetails(goodsDetails).build();
}
public MallGoodsVO buildListMallGoodsVO() {
......
......@@ -64,5 +64,10 @@ public class PriceStockDO implements Serializable {
this.stock = param.getStock();
this.skuNo = param.getSkuNo();
}
public PriceStockVO buildPriceStockVO() {
return PriceStockVO.builder().id(id).productSpec(productSpec).salePrice(salePrice)
.skuImage(skuImage).channelPrice(channelPrice).stock(stock).skuNo(skuNo).build();
}
}
package com.mmc.pms.entity.mall;
import com.mmc.pms.model.mall.SpecAttrVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -28,13 +29,14 @@ public class SpecAttrDO implements Serializable {
* 规格名称
*/
private String specName;
/**
* 规格值名称
*/
private String specValueName;
private Date createTime;
private Date updateTime;
public SpecAttrVO buildSpecAttr() {
return SpecAttrVO.builder().id(id).specName(specName).build();
}
}
package com.mmc.pms.entity.mall;
import com.mmc.pms.model.mall.SpecAttrVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* 规格属性表(SpecAttrDO)实体类
*
* @author makejava
* @since 2023-08-08 14:30:03
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SpecAttrValueDO implements Serializable {
private static final long serialVersionUID = -59237014539007263L;
private Integer id;
/**
* 商品id
*/
private Integer specAttrId;
/**
* 规格值名称
*/
private String specValueName;
private Date createTime;
public SpecAttrValueDO(SpecAttrVO specAttrVO) {
specAttrId = specAttrVO.getId();
specValueName = specAttrVO.getSpecName();
}
public SpecAttrVO buildSpecAttr() {
return SpecAttrVO.builder().id(id).specName(specValueName).build();
}
}
......@@ -59,10 +59,6 @@ public class MallGoodsVO {
private Integer labelShow;
@ApiModelProperty(value = "规格")
@NotEmpty(message = "规格不能为空")
private List<GoodsSpecVO> goodsSpecList;
@ApiModelProperty(value = "规格")
@NotEmpty(message = "规格不能为空", groups = {Update.class, Create.class})
private List<SpecAttrVO> specAttrList;
......
......@@ -19,31 +19,7 @@
values ( #{goodsNo}, #{tradeName}, #{description}, #{categoryPrimaryId}, #{categorySubId}
, #{shelfStatus}, #{goodsLabel}, #{labelShow}, #{goodsDetails}, #{userAccountId}, #{sort})
</insert>
<insert id="insertGoodsSpec" parameterType="com.mmc.pms.entity.mall.GoodsSpecDO"
keyProperty="id" useGeneratedKeys="true">
insert into goods_spec (mall_goods_id,
spec_name,
choose_type,
must,
sku_unit_id)
values (#{mallGoodsId}, #{specName}, #{chooseType}, #{must}, #{skuUnitId})
</insert>
<!-- 新版待删除 -->
<insert id="batchInsertSpecValues" parameterType="list">
insert into goods_spec_values (goods_spec_id,
spec_value_name,
part_no,
spec_value_image,
show_price,
stock,
sale_price,
channel_price)
values
<foreach collection="list" item="item" separator=",">
(#{item.goodsSpecId},#{item.specValueName},#{item.partNo},#{item.specValueImage}
,#{item.showPrice},#{item.stock},#{item.salePrice},#{item.channelPrice})
</foreach>
</insert>
<insert id="batchInsertMallGoodsResources">
insert into mall_goods_resources (mall_goods_id,
url,
......@@ -55,13 +31,12 @@
</foreach>
</insert>
<insert id="batchInsertSpecAttr">
insert into spec_attr (mall_goods_id,
spec_name,
insert into spec_attr_value (spec_attr_id,
spec_value_name
)
values
<foreach collection="list" item="item" separator=",">
(#{item.mallGoodsId},#{item.specName},#{item.specValueName})
(#{item.specAttrId},#{item.specValueName})
</foreach>
</insert>
<insert id="batchInsertPriceStock">
......@@ -77,6 +52,12 @@
(#{item.mallGoodsId},#{item.productSpec},#{item.salePrice},#{item.skuImage},#{item.channelPrice},#{item.stock},#{item.skuNo})
</foreach>
</insert>
<insert id="insertSpecAttr" useGeneratedKeys="true" keyProperty="id"
parameterType="com.mmc.pms.entity.mall.SpecAttrDO">
insert into spec_attr (mall_goods_id,
spec_name)
values (#{mallGoodsId}, #{specName})
</insert>
<update id="updateMallGoods">
UPDATE mall_goods
SET trade_name = #{mallGoodsDO.tradeName},
......@@ -89,26 +70,6 @@
goods_details = #{mallGoodsDO.goodsDetails}
WHERE id = #{mallGoodsDO.id}
</update>
<update id="updateGoodsSpec">
update goods_spec
set spec_name = #{specName},
choose_type = #{chooseType},
must = #{must},
sku_unit_id = #{skuUnitId}
where id = #{id}
</update>
<update id="updateGoodsSpecValue">
update goods_spec_values
set goods_spec_id = #{goodsSpecId},
spec_value_name = #{specValueName},
part_no =#{partNo},
spec_value_image = #{specValueImage},
show_price = #{showPrice},
stock = #{stock},
sale_price = #{salePrice},
channel_price =#{channelPrice}
where id = #{id}
</update>
<update id="updateMallGoodsSort">
update mall_goods
set sort = #{sort}
......@@ -129,23 +90,38 @@
set is_deleted = 1
where user_account_id = #{id}
</update>
<update id="updateSpecAttr">
update spec_attr
set spec_name = #{specName}
where id = #{id}
</update>
<update id="updateSpecAttrValue">
update spec_attr_value
set spec_value_name = #{specName}
where id = #{id}
</update>
<delete id="deleteMallGoodsResources">
delete
from mall_goods_resources
where mall_goods_id = #{id}
</delete>
<delete id="deleteGoodsSpec">
<delete id="deleteMallPriceStock">
delete
from price_stock
where mall_goods_id = #{id}
</delete>
<delete id="deleteSpecAttr">
delete
from goods_spec
from spec_attr
<where>
<foreach collection="list" open="id in (" close=")" item="item" separator=",">
#{item}
</foreach>
</where>
</delete>
<delete id="deleteGoodsSpecValues">
<delete id="deleteSpecAttrValue">
delete
from goods_spec_values
from spec_attr_value
<where>
<foreach collection="list" open="id in (" close=")" item="item" separator=",">
#{item}
......@@ -179,7 +155,8 @@
label_show,
goods_details,
user_account_id,
sort
sort,
create_time
FROM mall_goods
WHERE id = #{id}
and is_deleted = 0
......@@ -192,40 +169,7 @@
from mall_goods_resources
where mall_goods_id = #{id}
</select>
<select id="getMallGoodsSpec" resultType="com.mmc.pms.entity.mall.GoodsSpecDO">
select id,
mall_goods_id,
spec_name,
choose_type,
must,
sku_unit_id
from goods_spec
where mall_goods_id = #{id}
</select>
<select id="getMallGoodsSpecValues" resultType="com.mmc.pms.entity.mall.GoodsSpecValuesDO">
select id,
goods_spec_id,
spec_value_name,
part_no,
spec_value_image,
show_price,
stock,
sale_price,
channel_price
from goods_spec_values
<where>
<foreach collection="list" separator="," item="item" open="goods_spec_id in (" close=")">
#{item}
</foreach>
</where>
</select>
<select id="getSkuUnit" resultType="com.mmc.pms.entity.SkuUnitDO">
SELECT id,
unit_name unitName,
create_time createTime
FROM sku_unit
WHERE is_deleted = 0
</select>
<select id="countListMallGoods" resultType="java.lang.Integer">
SELECT
count(*)
......@@ -283,4 +227,34 @@
mg.shelf_status DESC , mg.sort DESC,mg.create_time DESC
limit #{pageNo},#{pageSize}
</select>
<select id="listSpecAttr" resultType="com.mmc.pms.entity.mall.SpecAttrDO">
SELECT id, spec_name, mall_goods_id, create_time
FROM spec_attr
where mall_goods_id = #{id}
</select>
<select id="listPriceStock" resultType="com.mmc.pms.entity.mall.PriceStockDO">
SELECT id,
mall_goods_id,
product_spec,
sale_price,
sku_image,
channel_price,
stock,
sku_no,
create_time
FROM price_stock
WHERE mall_goods_id = #{id}
</select>
<select id="listSpecAttrValue" resultType="com.mmc.pms.entity.mall.SpecAttrValueDO">
SELECT id,
spec_attr_id,
spec_value_name,
create_time
FROM spec_attr_value
<where>
<foreach collection="list" separator="," open="spec_attr_id in (" close=")" item="item">
#{item}
</foreach>
</where>
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论