提交 92587869 作者: xiaowang

修改:商品新增

上级 5636b32c
package com.mmc.pms.controller;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.dto.MallGoodsDetailDTO;
import com.mmc.pms.model.dto.SkuUnitDTO;
import com.mmc.pms.model.dto.*;
import com.mmc.pms.model.qo.ProductSpecPriceQO;
import com.mmc.pms.model.vo.Create;
import com.mmc.pms.model.vo.GoodsAddVO;
import com.mmc.pms.model.vo.Update;
......@@ -10,8 +10,10 @@ import com.mmc.pms.service.GoodsInfoService;
import io.swagger.annotations.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author LW
......@@ -52,6 +54,29 @@ public class BackstageGoodsManageController {
public ResultBody getSkuUnit() {
return goodsInfoService.getSkuUnit();
}
@ApiOperation(value = "根据购物车信息填充未知信息")
@ApiIgnore
@PostMapping("fillGoodsInfo")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = MallGoodsShopCarDTO.class)})
public List<MallGoodsShopCarDTO> fillGoodsInfo(@RequestBody List<MallGoodsShopCarDTO> param) {
return goodsInfoService.fillGoodsInfo(param);
}
@ApiOperation(value = "根据渠道等级和产品规格id获取对应价格")
@ApiIgnore
@PostMapping("feignListProductSpecPrice")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
public List<MallProductSpecPriceDTO> feignListProductSpecPrice(@RequestBody ProductSpecPriceQO productSpecPriceQO) {
return goodsInfoService.feignListProductSpecPrice(productSpecPriceQO);
}
@ApiOperation(value = "feign根据渠道等级获取单价信息")
@GetMapping("feignGetUnitPriceByTag")
@ApiIgnore
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ProductSpecPriceDTO.class)})
public ProductSpecPriceDTO feignGetUnitPriceByTag(@RequestParam(value = "specId") Integer specId,
@RequestParam(value = "tagId") Integer tagId) {
return goodsInfoService.feignGetUnitPriceByTag(specId, tagId);
}
}
......@@ -3,8 +3,10 @@ package com.mmc.pms.dao;
import com.mmc.pms.entity.*;
import com.mmc.pms.model.vo.GoodsAddVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Set;
/**
* @author 23214
......@@ -63,6 +65,18 @@ public interface GoodsInfoDao {
List<SkuUnitDO> getSkuUnit();
List<GoodsInfo> listSimpleGoodsInfoByIds(@Param("ids") Set<Integer> ids);
void insertMallProdSkuInfo(MallProdInfoDO mallProdSkuInfoDO);
void insertMallProdSkuInfoSpec(MallProdSkuInfoSpecDO mallProdSkuInfoSpecDO);
void batchUpdateMallProSpec(@Param("list") List<Integer> list, @Param("id") Integer id);
List<MallProdSkuInfoSpecDO> listMallProdSpecInfo(List<Integer> mallSkuIds);
void batchUpdateMallProdSpec(List<Integer> delSpecId);
}
......
......@@ -53,7 +53,7 @@ public interface IndustrySpecDao {
void deleteIndustryProductInventory(Integer id);
int countListPageIndustrySpec(Integer industrySkuId, String keyword);
int countListPageIndustrySpec(Integer id, String keyword);
List<IndustrySpecDO> listPageIndustrySpec(int i, Integer pageSize, Integer industrySkuId, String keyword);
......@@ -95,4 +95,5 @@ public interface IndustrySpecDao {
void removeIndustrySpec(Integer id);
List<MallIndustrySkuInfoSpecDO> getIndustrySkuInfoSpec(Integer goodsInfoId);
}
......@@ -2,6 +2,7 @@ package com.mmc.pms.dao;
import com.mmc.pms.entity.*;
import com.mmc.pms.model.dto.ProductSkuVO;
import com.mmc.pms.model.dto.ProductSpecPriceDTO;
import com.mmc.pms.model.dto.ProductSpecVO;
import com.mmc.pms.model.qo.ProductSkuQO;
import com.mmc.pms.model.vo.PriceAcquisition;
......@@ -48,7 +49,7 @@ public interface ProductDao {
int countListPageProductSpec(Integer productSkuId);
List<ProductSpecDO> listPageProductSpec(int i, Integer pageSize, Integer productSkuId);
List<ProductSpecDO> listPageProductSpec(int pageNo, Integer pageSize, Integer productSkuId);
int batchInsertSpecPrice(List<ProductSpecPriceDO> list);
......@@ -87,6 +88,22 @@ public interface ProductDao {
BigDecimal feignGetUnitPriceByTag(PriceAcquisition priceAcquisition);
List<MallGoodsSpecInfoDO> listProdSpecInfo(@Param("prodIds") Set<Integer> prodIds);
/**
* 根据渠道等级、商品specId获取price信息
*
* @param tagInfoId
* @param prodSkuSpecIds
* @return
*/
List<ProductSpecPriceDO> listProductSpecPrice(Integer tagInfoId, Set<Integer> prodSkuSpecIds);
ProductSpecPriceDTO feignGetUnitPrice(Integer id, Integer tagId);
List<ProductSpecDO> getProductSpecList(List<Integer> productSkuIds);
List<MallProdSkuInfoSpecDO> getProductSpecByIds(List<Integer> delProductSpecId);
}
......
......@@ -52,6 +52,8 @@ public class GoodsInfo implements Serializable {
private String videoUrl;
private String mainImg;
private static final long serialVersionUID = 1L;
public GoodsInfo(GoodsAddVO goodsAddVO) {
......
......@@ -46,7 +46,7 @@ public class IndustrySku implements Serializable {
public IndustrySkuVO buildIndustrySku() {
return IndustrySkuVO.builder().id(this.id).description(this.description)
.categoryId(this.categoriesId).solutionName(this.solutionName).build();
.categoryId(this.categoriesId).categoryName(typeName).solutionName(this.solutionName).build();
}
public IndustrySkuDTO buildIndustrySkuDTO() {
......
package com.mmc.pms.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* author:zhenjie
* Date:2022/10/15
* time:20:52
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MallGoodsSpecInfoDO implements Serializable {
private static final long serialVersionUID = -7264365143820916901L;
private Integer id;
private Integer sortTypeId;
private List<SkuSpecDO> skuSpecDOList;
}
package com.mmc.pms.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* author:zhenjie
* Date:2022/10/15
* time:20:55
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SkuSpecDO implements Serializable {
private static final long serialVersionUID = -7601558723724855293L;
private Integer id;
private Integer specDeleted;
private Integer skuSpecDeleted;
private String specName;
}
package com.mmc.pms.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* author:zhenjie
* Date:2022/10/11
* time:14:54
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.mall.dto.MallGoodsShopCarDTO", description = "小程序购物车列表DTO")
public class MallGoodsShopCarDTO implements Serializable {
private static final long serialVersionUID = 766856809957374985L;
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("用户id")
private Integer mallUserId;
@ApiModelProperty("商品id")
private Integer goodsInfoId;
@ApiModelProperty("购买数量")
private Integer buyNum;
@ApiModelProperty("0:待下单 1:已下单")
private Integer saleStatus;
@ApiModelProperty("推荐人id")
private Integer recMallUserId;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("是否删除")
private Integer deleted;
@ApiModelProperty("生成时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
//区分产品或者行业
@ApiModelProperty("区分产品或者行业")
private Integer directoryId;
@ApiModelProperty("商品名称")
private String goodsName;
@ApiModelProperty("商品主图")
private String mainImg;
@ApiModelProperty("状态:0:下架 1:上架")
private Integer shelfStatus;
@ApiModelProperty("商品产品规格信息")
private List<MallSkuInfoSpecDTO> skuList;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* author:zhenjie
* Date:2022/11/9
* time:17:17
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.mall.dto.MallProductSpecPriceDTO", description = "产品对应价格")
public class MallProductSpecPriceDTO implements Serializable {
private static final long serialVersionUID = 4717398210156973205L;
@ApiModelProperty(value = "产品规格id")
private Integer productSpecId;
@ApiModelProperty(value = "合作价格")
private BigDecimal opPrice;
@ApiModelProperty(value = "市场价格")
private BigDecimal mkPrice;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* author:zhenjie
* Date:2022/10/11
* time:15:03
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.mall.dto.MallSkuInfoSpecDTO", description = "商品规格DTO")
public class MallSkuInfoSpecDTO implements Serializable {
private static final long serialVersionUID = 4214771967767248990L;
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("商品最小规格id")
private Integer mallSkuInfoSpecId;
private Integer deleted;
private Boolean valid;
private Date createTime;
@ApiModelProperty("产品或者行业规格名称")
private String specName;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* author:zhenjie
* Date:2022/10/21
* time:17:40
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.mall.dto.OrderGoodsIndstDTO", description = "行业订单DTO")
public class OrderGoodsIndstDTO implements Serializable {
private static final long serialVersionUID = -1809741999941834440L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "订单id")
private Long orderId;
@ApiModelProperty(value = "购物车id")
private Integer mallIndstShopCarId;
@ApiModelProperty(value = "商品id")
private Integer goodsInfoId;
@ApiModelProperty(value = "商品所属类型id")
private Integer sortTypeId;
@ApiModelProperty(value = "商品所有规格金额")
private BigDecimal goodsAmount;
@ApiModelProperty(value = "商品编号")
private String goodsNo;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "商品主图")
private String mainImg;
@ApiModelProperty(value = "购买数量")
private Integer buyNum;
@ApiModelProperty(value = "生成时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "是否有效")
private Boolean valid;
//
// @ApiModelProperty(value = "行业订单规格")
// private List<OrderGoodsIndstDetailDTO> orderGoodsIndstDetailDTOS;
@ApiModelProperty("商品服务列表")
private List<GoodsServiceDTO> services;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* author:zhenjie
* Date:2022/10/19
* time:15:26
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.mall.dto.OrderGoodsProdDTO", description = "订单商品sku信息DTO")
public class OrderGoodsProdDTO implements Serializable {
private static final long serialVersionUID = 2066849435828937057L;
@ApiModelProperty(value = "orderGoodsProdId")
private Integer id;
@ApiModelProperty(value = "订单id")
private Long orderId;
@ApiModelProperty(value = "产品购物车id")
private Integer mallProdShopCarId;
@ApiModelProperty(value = "商品id")
private Integer goodsInfoId;
@ApiModelProperty(value = "商品所属类型")
private Integer sortTypeId;
@ApiModelProperty(value = "全部sku金额")
private BigDecimal goodsAmount;
@ApiModelProperty(value = "商品编号")
private String goodsNo;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "商品主图")
private String mainImg;
@ApiModelProperty(value = "购买数量")
private Integer buyNum;
@ApiModelProperty(value = "生成时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "是否有效")
private Boolean valid;
@ApiModelProperty(value = "是否上架")
private Integer shelfStatus;
@ApiModelProperty(value = "是否删除")
private Integer deleted;
@ApiModelProperty("商品服务列表")
private List<GoodsServiceDTO> services;
// @ApiModelProperty(value = "订单详情")
// private List<OrderGoodsProdDetailDTO> orderGoodsProdDetailDTOS;
}
......@@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Author small @Date 2023/5/16 16:29 @Version 1.0
......@@ -48,4 +49,7 @@ public class ProductSkuDTO implements Serializable {
@ApiModelProperty(value = "目录名称")
private String directoryName;
@ApiModelProperty(value = "产品规格信息对象")
private List<ProductSpecDTO> productSpecList;
}
package com.mmc.pms.model.qo;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Set;
/**
* author:zhenjie
* Date:2022/10/18
* time:21:45
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.mall.qo.MallOrderGoodsInfoQO", description = "订单查询商品信息QO")
public class MallOrderGoodsInfoQO implements Serializable {
private static final long serialVersionUID = -3807569067697485137L;
private Integer mallUserId;
private Integer channelClass;
private Set<Integer> mallProdSkuSpecIds;
private Set<Integer> mallIndstSkuSpecIds;
}
package com.mmc.pms.model.qo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* author:zhenjie
* Date:2022/11/10
* time:11:13
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.qo.ProductSpecPriceQO", description = "无人机城产品规格价格QO")
public class ProductSpecPriceQO implements Serializable {
private static final long serialVersionUID = 8086345532713123505L;
@ApiModelProperty("用户id")
private Integer mallUserId;
@ApiModelProperty("渠道等级标签")
private Integer channelClass;
@ApiModelProperty("产品规格id")
private List<Integer> productSpecIds;
}
......@@ -38,7 +38,7 @@ public class GoodsProdSpecVO implements Serializable {
private String productName;
@ApiModelProperty(value = "选项来源")
private List<Integer> specIds;
private List<MallProductSpecVO> specIds;
@ApiModelProperty(value = "选择方式")
private Integer chooseType;
......
......@@ -29,6 +29,8 @@ public class IndustrySkuVO implements Serializable {
@NotNull(message = "行业分类id不能为空", groups = {Create.class, Update.class})
@ApiModelProperty(value = "所属行业分类id")
private Integer categoryId;
@ApiModelProperty(value = "行业名称")
private String categoryName;
@ApiModelProperty(value = "描述")
private String description;
}
package com.mmc.pms.service;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.dto.MallGoodsShopCarDTO;
import com.mmc.pms.model.dto.MallProductSpecPriceDTO;
import com.mmc.pms.model.dto.ProductSpecPriceDTO;
import com.mmc.pms.model.qo.ProductSpecPriceQO;
import com.mmc.pms.model.vo.GoodsAddVO;
import java.util.List;
/**
* @author 23214
* @description 针对表【goods_info(商品基本信息)】的数据库操作Service
......@@ -17,5 +23,10 @@ public interface GoodsInfoService {
ResultBody getGoodsInfoDetail(Integer goodsInfoId);
ResultBody getSkuUnit();
List<MallGoodsShopCarDTO> fillGoodsInfo(List<MallGoodsShopCarDTO> param);
List<MallProductSpecPriceDTO> feignListProductSpecPrice(ProductSpecPriceQO productSpecPriceQO);
ProductSpecPriceDTO feignGetUnitPriceByTag(Integer specId, Integer tagId);
}
......@@ -14,11 +14,10 @@ import com.mmc.pms.service.ProductSkuService;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -84,7 +83,20 @@ public class ProductServiceImpl implements ProductSkuService {
Integer pageNo = productSkuQO.getPageNo();
productSkuQO.buildCurrentPage();
List<ProductSkuDO> productSkuList = productDao.listPageProductSku(productSkuQO);
List<ProductSkuDTO> list = productSkuList.stream().map(ProductSkuDO::buildProductSkuDTO).collect(Collectors.toList());
List<Integer> productSkuIds = productSkuList.stream().map(ProductSkuDO::getId).collect(Collectors.toList());
List<ProductSpecDO> productSpecList = productDao.getProductSpecList(productSkuIds);
Map<Integer, List<ProductSpecDO>> productSpecMap = productSpecList.stream().collect(Collectors.groupingBy(ProductSpecDO::getProductSkuId));
List<ProductSkuDTO> list = productSkuList.stream()
.map(ProductSkuDO::buildProductSkuDTO)
.collect(Collectors.toList());
list.stream().peek(d -> {
List<ProductSpecDO> productSpecDOS = productSpecMap.get(d.getId());
if (CollectionUtils.isEmpty(productSpecDOS)) {
d.setProductSpecList(null);
} else {
d.setProductSpecList(productSpecDOS.stream().map(ProductSpecDO::buildProductSpecDTO).collect(Collectors.toList()));
}
}).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, productSkuQO.getPageSize(), count, list));
}
......@@ -250,8 +262,19 @@ public class ProductServiceImpl implements ProductSkuService {
@Override
public BigDecimal feignGetUnitPriceByTag(PriceAcquisition priceAcquisition) {
BigDecimal price = productDao.feignGetUnitPriceByTag(priceAcquisition);
return price == null ? null : price;
Map<Integer, Integer> dayMap = new HashMap<>();
dayMap.put(0, 7);
dayMap.put(8, 15);
dayMap.put(16, 30);
dayMap.put(31, Integer.MAX_VALUE);
Integer dayRange = dayMap.entrySet().stream()
.filter(entry -> priceAcquisition.getDay() <= entry.getKey())
.findFirst()
.map(Map.Entry::getValue)
.orElseThrow(() -> new RuntimeException("租赁期限错误错误!"));
priceAcquisition.setDay(dayRange);
return productDao.feignGetUnitPriceByTag(priceAcquisition);
}
}
......
......@@ -153,6 +153,6 @@
FROM categories
WHERE is_deleted = 0
AND directory_id = #{directoryId}
AND type = #{type}
AND `type` = #{type}
</select>
</mapper>
......@@ -63,6 +63,17 @@
insert into mall_industry_sku_info_spec(mall_industry_sku_info_id, industry_spec_id, goods_info_id)
values (#{mallIndustrySkuInfoId}, #{industrySpecId}, #{goodsInfoId})
</insert>
<insert id="insertMallProdSkuInfo" parameterType="com.mmc.pms.entity.MallProdInfoDO" useGeneratedKeys="true"
keyProperty="id">
insert into mall_prod_sku_info (goods_info_id, product_id, prod_sku_spec_name, categories_id, choose_type,
sku_unit_id, is_must, flag)
values (#{goodsInfoId}, #{prodSkuId}, #{prodSkuSpecName}, #{categoriesId}, #{chooseType}, #{skuUnitId}, #{must},
#{flag}) >
</insert>
<insert id="insertMallProdSkuInfoSpec">
insert into mall_prod_info_spec (goods_info_id, mall_prod_info_id, product_spec_id)
values (#{goodsInfoId}, #{mallProdSkuInfoId}, #{productSpecId})
</insert>
<update id="updateGoodsInfo">
update goods_info
......@@ -108,15 +119,30 @@
prod_spec_name = #{d.prodSkuSpecName},
choose_type = #{d.chooseType},
sku_unit_id = #{d.skuUnitId},
is_must = #{d.must},
product_spec_id_list = #{d.productSpecIdList},
before_update_spec = #{d.beforeUpdateSpec}
is_must = #{d.must}
</set>
<where>
id = #{d.id}
</where>
</foreach>
</update>
<update id="batchUpdateMallProSpec">
<foreach collection="list" separator=";" item="d">
update mall_prod_sku_info_spec
set is_deleted = 1
where mall_prod_info_id = #{d}
and goods_info_id =#{id}
and is_deleted = 0
</foreach>
</update>
<update id="batchUpdateMallProdSpec">
<foreach collection="list" item="d" separator=";">
update mall_prod_info_spec
set is_deleted = 1
where id = #{d}
and is_deleted = 0
</foreach>
</update>
<delete id="deleteGoodsServiceByGoodsId">
delete
from goods_service
......@@ -229,4 +255,32 @@
FROM sku_unit
WHERE is_deleted = 0
</select>
<select id="listSimpleGoodsInfoByIds" resultType="com.mmc.pms.entity.GoodsInfo">
SELECT
gi.id,
gi.shelf_status,
img.img_url as mainImg,
gi.goods_name,
gi.directory_id
FROM
goods_info gi
LEFT JOIN goods_img img ON img.goods_info_id = gi.id
AND img.is_deleted = 0 AND img.img_type = 0
<where>
<if test="ids != null">
<foreach collection="ids" item="id" open="and gi.id in (" close=")" index="index" separator=",">
#{id}
</foreach>
</if>
</where>
</select>
<select id="listMallProdSpecInfo" resultType="com.mmc.pms.entity.MallProdSkuInfoSpecDO">
select id, goods_info_id goodsInfoId, mall_prod_info_id mallProdSkuInfoId, product_spec_id productSpecId
from mall_prod_info_spec
where mall_prod_info_id in
<foreach collection="list" separator="," item="d" open="(" close=")" index="index">
#{d}
</foreach>
and is_deleted = 0
</select>
</mapper>
......@@ -142,13 +142,15 @@
and is_deleted = 0
</select>
<select id="getIndustrySkuById" resultType="com.mmc.pms.entity.IndustrySku">
SELECT id,
solution_name,
categories_id,
description,
create_time
FROM industry_sku
WHERE id = #{id}
SELECT ins.id,
ins.solution_name,
ins.categories_id,
ins.description,
ins.create_time,
c.`name` typeName
FROM industry_sku ins
INNER JOIN categories c ON ins.categories_id = c.id
WHERE ins.id = #{id}
</select>
<select id="countListPageIndustrySku" resultType="java.lang.Integer">
select count(*) from industry_sku
......@@ -157,7 +159,7 @@
<if test="solutionName != null and solutionName != ''">
and solution_name like CONCAT('%',#{solutionName},'%')
</if>
<if test="goodsTypeId != null">
<if test="categoryId != null">
and categories_id like CONCAT('%',#{categoryId},'%')
</if>
</where>
......@@ -169,7 +171,7 @@
ps.categories_id,
ps.description,
ps.create_time,
c.type_name typeName
c.name typeName
FROM
industry_sku ps
INNER JOIN categories c ON ps.categories_id = c.id
......
......@@ -28,11 +28,12 @@
(#{item.productSpecId},#{item.cooperationTag},#{item.price},#{item.type},#{item.leaseTerm})
</foreach>
</insert>
<insert id="insertMallProdSkuInfo">
<insert id="insertMallProdSkuInfo" parameterType="com.mmc.pms.entity.MallProdInfoDO"
keyProperty="id" useGeneratedKeys="true">
insert into mall_prod_info (goods_info_id, prod_sku_id, prod_spec_name, category_id, choose_type,
sku_unit_id, is_must, product_spec_id_list, flag)
values (#{goodsInfoId}, #{prodSkuId}, #{prodSkuSpecName}, #{categoryId}, #{chooseType}, #{skuUnitId}, #{must},
#{productSpecIdList}, #{flag})
#{flag})
</insert>
<update id="updateProductSku">
update product
......@@ -119,7 +120,6 @@
</select>
<select id="listPageProductSku" resultType="com.mmc.pms.entity.ProductSkuDO">
SELECT
SELECT
ps.id,
ps.product_name,
ps.model,
......@@ -137,7 +137,7 @@
LEFT JOIN brand_info bi ON ps.brand_info_id = bi.id
<where>
ps.is_deleted = 0
and is_customize <![CDATA[<>]]> 1
and customize <![CDATA[<>]]> 1
<if test="productName != null and productName != ''">
and ps.product_name like CONCAT ('%',#{productName},'%')
</if>
......@@ -323,5 +323,71 @@
from product_spec_price
where product_spec_id = #{specsId}
and cooperation_tag = #{channelLevelId}
and `type` = 1
and lease_term = #{day}
</select>
<select id="listProdSpecInfo" resultType="com.mmc.pms.entity.MallGoodsSpecInfoDO">
SELECT
gi.id, gi.directory_id, mpsip.id as mallSkuInfoSpecId, mpsip.is_deleted as sku_spec_deleted, ps.spec_name,
ps.is_deleted as spec_deleted
FROM
goods_info gi
INNER JOIN mall_prod_sku_info mpsi ON gi.id = mpsi.goods_info_id
INNER JOIN mall_prod_sku_info_spec mpsip ON mpsi.id = mpsip.mall_prod_sku_info_id
INNER JOIN product_spec ps ON ps.id = mpsip.product_spec_id
<where>
mpsip.id in (
<if test="prodIds != null">
<foreach collection="prodIds" item="id" index="index" separator=",">
#{id}
</foreach>
</if>
)
</where>
</select>
<select id="listProductSpecPrice" resultType="com.mmc.pms.entity.ProductSpecPriceDO">
SELECT
psp.id,
psp.product_spec_id,
psp.cooperation_tag,
psp.price
FROM
product_spec_price psp
where psp.cooperation_tag = #{tagInfoId} and psp.product_spec_id in (
<foreach collection="prodSkuSpecIds" item="id" index="index" separator=",">
#{id}
</foreach>
)
</select>
<select id="feignGetUnitPrice" resultType="com.mmc.pms.model.dto.ProductSpecPriceDTO">
select price
from product_spec_price
where product_spec_id = #{id}
and tag_info_id = #{tagId}
</select>
<select id="getProductSpecList" resultType="com.mmc.pms.entity.ProductSpecDO">
SELECT
id,
product_id productSkuId,
spec_name specName,
spec_image specImage,
part_no partNo,
version_desc versionDesc
FROM
product_spec
WHERE
product_id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="getProductSpecByIds" resultType="com.mmc.pms.entity.MallProdSkuInfoSpecDO">
select id, goods_info_id goodsInfoId, mall_prod_info_id mallProdSkuInfoId, product_spec_id productSpecId
from mall_prod_sku_info_spec
where id in
<foreach collection="list" separator="," item="d" open="(" close=")" index="index">
#{d}
</foreach>
and is_deleted = 0
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论