sku规则恢复和列表
This commit is contained in:
@@ -6,10 +6,7 @@ import com.tashow.cloud.product.mapper.ProdMapper;
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdDO;
|
||||
import com.tashow.cloud.product.service.ProdService;
|
||||
import com.tashow.cloud.productapi.api.product.dto.SkuDO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdPageReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdRecycleBinVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdSaveReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdServiceVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.*;
|
||||
import com.tashow.cloud.productapi.api.product.vo.sku.SkuPageReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.sku.SkuRecycleBinVO;
|
||||
import com.tashow.cloud.productapi.enums.BaseEnum;
|
||||
@@ -145,8 +142,20 @@ public class ProdController {
|
||||
@PermitAll
|
||||
@GetMapping("/getProdRecycleBinPageList")
|
||||
@Operation(summary = "获得商品回收站分页列表")
|
||||
public CommonResult<PageResult<SkuRecycleBinVO>> getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO) {
|
||||
PageResult<SkuRecycleBinVO> pageResult = prodService.getProdRecycleBinPageList(prodRecycleBinVO);
|
||||
public CommonResult<PageResult<ProdListVO>> getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO) {
|
||||
PageResult<ProdListVO> pageResult = prodService.getProdRecycleBinPageList(prodRecycleBinVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/restoreProdList")
|
||||
@Operation(summary = "恢复商品")
|
||||
@Parameter(name = "ids", description = "商品id集合", required = true)
|
||||
@PermitAll
|
||||
public CommonResult<Boolean> restoreProdList(@RequestParam("ids") List<Long> ids) {
|
||||
prodService.restoreProdList(ids);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -107,7 +107,7 @@ public class SkuController {
|
||||
@Operation(summary = "批量删除SKU")
|
||||
@Parameter(name = "ids", description = "编号", required = true)
|
||||
@PermitAll
|
||||
public CommonResult<Boolean> deleteSkuList(@RequestParam("id") List<Long> ids) {
|
||||
public CommonResult<Boolean> deleteSkuList(@RequestParam("ids") List<Long> ids) {
|
||||
/*for(Long id:ids){
|
||||
SkuDO sku = new SkuDO();
|
||||
sku.setSkuId(id);
|
||||
@@ -120,9 +120,9 @@ public class SkuController {
|
||||
}
|
||||
|
||||
|
||||
@DeleteMapping("/updateSkuShelf")
|
||||
@PostMapping("/updateSkuShelf")
|
||||
@Operation(summary = "修改单品上下架")
|
||||
@Parameter(name = "ids", description = "编号", required = true)
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@Parameter(name = "isShelf", description = "是否上下架(0下架 1上架)", required = true)
|
||||
@PermitAll
|
||||
public CommonResult<Boolean> updateSkuShelf(@RequestParam("id") Long id,@RequestParam("isShelf") Integer isShelf) {
|
||||
@@ -130,12 +130,12 @@ public class SkuController {
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/updateSkuShelfList")
|
||||
@PostMapping("/updateSkuShelfList")
|
||||
@Operation(summary = "批量上下架")
|
||||
@Parameter(name = "ids", description = "编号", required = true)
|
||||
@Parameter(name = "isShelf", description = "是否上下架(0下架 1上架)", required = true)
|
||||
@PermitAll
|
||||
public CommonResult<Boolean> updateSkuShelfList(@RequestParam("id") List<Long> ids,@RequestParam("isShelf") Integer isShelf) {
|
||||
public CommonResult<Boolean> updateSkuShelfList(@RequestParam("ids") List<Long> ids,@RequestParam("isShelf") Integer isShelf) {
|
||||
for(Long id:ids){
|
||||
SkuDO sku = new SkuDO();
|
||||
sku.setSkuId(id);
|
||||
@@ -164,6 +164,18 @@ public class SkuController {
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/restoreSkuList")
|
||||
@Operation(summary = "恢复SKU")
|
||||
@Parameter(name = "ids", description = "skuids", required = true)
|
||||
@PermitAll
|
||||
public CommonResult<Boolean> restoreSkuList(@RequestParam("ids") List<Long> ids) {
|
||||
skuService.restoreSkuList(ids);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PermitAll
|
||||
@GetMapping("/getSkuPageList")
|
||||
@Operation(summary = "获得SKU分页列表")
|
||||
@@ -173,6 +185,7 @@ public class SkuController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* @PermitAll
|
||||
@GetMapping("/getSkuRecycleBinPageList")
|
||||
@Operation(summary = "获得SKU回收站分页列表")
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.tashow.cloud.common.pojo.PageResult;
|
||||
import com.tashow.cloud.mybatis.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX;
|
||||
import com.tashow.cloud.productapi.api.product.dto.*;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdListVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdPageReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdServiceVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.sku.SkuRecycleBinVO;
|
||||
@@ -47,7 +48,9 @@ public interface ProdMapper extends BaseMapperX<ProdDO> {
|
||||
, @Param("weightSwitch") Integer weightSwitch
|
||||
);
|
||||
|
||||
IPage<SkuRecycleBinVO> getProdRecycleBinPageList(Page<?> page,@Param("createTime") String[] createTime
|
||||
IPage<ProdListVO> getProdRecycleBinPageList(Page<?> page, @Param("createTime") String[] createTime
|
||||
, @Param("prodName") String prodName);
|
||||
|
||||
|
||||
void batchRestoreProd(@Param("ids") List<Long> ids);
|
||||
}
|
||||
@@ -29,4 +29,9 @@ public interface ProdPropValueMapper extends BaseMapperX<ProdPropValueDO> {
|
||||
List<ProdPropValueDO> selectSalesValuesByState(@Param("prodId") Long prodId);
|
||||
|
||||
void batchMarkDeleted(@Param("ids") List<Long> ids);
|
||||
|
||||
int deleteProdPropValueById( @Param("id")Long id);
|
||||
|
||||
List<ProdPropValueDO> selectRestoreProp(@Param("prodId") Long prodId);
|
||||
|
||||
}
|
||||
@@ -27,4 +27,8 @@ public interface SkuMapper extends BaseMapperX<SkuDO> {
|
||||
List<String> selectPropertiesByProdIdAndNotDeleted( @Param("prodId")Long prodId);
|
||||
|
||||
List<String> selectPropertiesByProdIdShelf( @Param("prodId")Long prodId);
|
||||
|
||||
int deleteBySkuId( @Param("skuId")Long skuId);
|
||||
|
||||
void batchSkuDeleted(@Param("ids") List<Long> ids);
|
||||
}
|
||||
@@ -3,10 +3,7 @@ package com.tashow.cloud.product.service;
|
||||
import java.util.*;
|
||||
|
||||
import com.tashow.cloud.productapi.api.product.dto.ProdDO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdPageReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdRecycleBinVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdSaveReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdServiceVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.*;
|
||||
import com.tashow.cloud.productapi.api.product.vo.sku.SkuRecycleBinVO;
|
||||
import jakarta.validation.*;
|
||||
import com.tashow.cloud.common.pojo.PageResult;
|
||||
@@ -84,5 +81,12 @@ public interface ProdService {
|
||||
*/
|
||||
PageResult<ProdDO> getProdPage(ProdPageReqVO pageReqVO);
|
||||
|
||||
PageResult<SkuRecycleBinVO> getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO);
|
||||
PageResult<ProdListVO> getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO);
|
||||
|
||||
/**
|
||||
* 恢复商品
|
||||
*
|
||||
* @param ids
|
||||
*/
|
||||
void restoreProdList(List<Long> ids);
|
||||
}
|
||||
@@ -88,6 +88,13 @@ public interface SkuService {
|
||||
*/
|
||||
void deleteSkus(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 恢复SKU
|
||||
*
|
||||
* @param ids
|
||||
*/
|
||||
void restoreSkuList(List<Long> ids);
|
||||
|
||||
|
||||
/**
|
||||
* 删除单品SKU
|
||||
|
||||
@@ -54,7 +54,7 @@ public class ProdPropValueServiceImpl extends ServiceImpl<ProdPropValueMapper,
|
||||
// 校验存在
|
||||
validateProdPropValueExists(id);
|
||||
// 删除
|
||||
prodPropValueMapper.deleteById(id);
|
||||
prodPropValueMapper.deleteProdPropValueById(id);
|
||||
}
|
||||
|
||||
private void validateProdPropValueExists(Long id) {
|
||||
|
||||
@@ -11,10 +11,7 @@ import com.tashow.cloud.product.mapper.*;
|
||||
import com.tashow.cloud.product.service.ProdPropService;
|
||||
import com.tashow.cloud.product.service.ProdService;
|
||||
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdPageReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdRecycleBinVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdSaveReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.ProdServiceVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.prod.*;
|
||||
import com.tashow.cloud.productapi.api.product.vo.sku.SkuPageReqVO;
|
||||
import com.tashow.cloud.productapi.api.product.vo.sku.SkuRecycleBinVO;
|
||||
import com.tashow.cloud.productapi.enums.BaseEnum;
|
||||
@@ -183,65 +180,138 @@ public class ProdServiceImpl implements ProdService {
|
||||
ProdDO prod = BeanUtils.toBean(prodServiceVO, ProdDO.class);
|
||||
//服务区域设置
|
||||
if(Objects.equals(prodServiceVO.getRegionSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
|
||||
//保存区域设置信息
|
||||
ProdServiceOverAreaRulesDO prodServiceOverAreaRules = BeanUtils.toBean(prodServiceVO.getProdServiceAreasInfo(), ProdServiceOverAreaRulesDO.class);
|
||||
prodServiceOverAreaRules.setProdId(prodServiceVO.getProdId());
|
||||
prodServiceOverAreaRulesMapper.updateById(prodServiceOverAreaRules);
|
||||
//先批量删除区域关联表
|
||||
prodServiceAreaRelevanceMapper.deleteRelevance(prodServiceVO.getProdId());
|
||||
//保存区域
|
||||
List<String> areaNameList =prodServiceVO.getProdServiceAreasInfo().getAreaNameList();
|
||||
for(String areaName : areaNameList){
|
||||
//查询区域信息
|
||||
ProdServiceAreasDO prodServiceAreas = prodServiceAreasMapper.selectOne(new LambdaQueryWrapper<ProdServiceAreasDO>()
|
||||
.eq(ProdServiceAreasDO::getAreaName, areaName)
|
||||
);
|
||||
if(prodServiceAreas == null){
|
||||
//插入关联表
|
||||
prodServiceAreaRelevanceMapper.insert(new ProdServiceAreaRelevanceDO()
|
||||
.setProdId(prodServiceVO.getProdId())
|
||||
.setAreaId(prodServiceAreas.getId())
|
||||
ProdServiceOverAreaRulesDO overAreaRules= prodServiceOverAreaRulesMapper.selectOne(new LambdaQueryWrapper<ProdServiceOverAreaRulesDO>()
|
||||
.eq(ProdServiceOverAreaRulesDO::getProdId, prodServiceVO.getProdId()));
|
||||
if(overAreaRules==null){
|
||||
prod.setRegionSwitch(BaseEnum.YES_ONE.getKey());
|
||||
//保存区域设置信息
|
||||
ProdServiceOverAreaRulesDO prodServiceOverAreaRules = BeanUtils.toBean(prodServiceVO.getProdServiceAreasInfo(), ProdServiceOverAreaRulesDO.class);
|
||||
prodServiceOverAreaRules.setProdId(prod.getProdId());
|
||||
prodServiceOverAreaRulesMapper.insert(prodServiceOverAreaRules);
|
||||
//保存区域
|
||||
List<String> areaNameList =prodServiceVO.getProdServiceAreasInfo().getAreaNameList();
|
||||
for(String areaName : areaNameList){
|
||||
//查询区域信息
|
||||
ProdServiceAreasDO prodServiceAreas = prodServiceAreasMapper.selectOne(new LambdaQueryWrapper<ProdServiceAreasDO>()
|
||||
.eq(ProdServiceAreasDO::getAreaName, areaName)
|
||||
);
|
||||
if(prodServiceAreas != null){
|
||||
//插入关联表
|
||||
prodServiceAreaRelevanceMapper.insert(new ProdServiceAreaRelevanceDO()
|
||||
.setProdId(prod.getProdId())
|
||||
.setAreaId(prodServiceAreas.getId())
|
||||
);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
//保存区域设置信息
|
||||
ProdServiceOverAreaRulesDO prodServiceOverAreaRules = BeanUtils.toBean(prodServiceVO.getProdServiceAreasInfo(), ProdServiceOverAreaRulesDO.class);
|
||||
prodServiceOverAreaRules.setProdId(prodServiceVO.getProdId());
|
||||
prodServiceOverAreaRulesMapper.updateById(prodServiceOverAreaRules);
|
||||
//先批量删除区域关联表
|
||||
prodServiceAreaRelevanceMapper.deleteRelevance(prodServiceVO.getProdId());
|
||||
//保存区域
|
||||
List<String> areaNameList =prodServiceVO.getProdServiceAreasInfo().getAreaNameList();
|
||||
for(String areaName : areaNameList){
|
||||
//查询区域信息
|
||||
ProdServiceAreasDO prodServiceAreas = prodServiceAreasMapper.selectOne(new LambdaQueryWrapper<ProdServiceAreasDO>()
|
||||
.eq(ProdServiceAreasDO::getAreaName, areaName)
|
||||
);
|
||||
if(prodServiceAreas == null){
|
||||
//插入关联表
|
||||
prodServiceAreaRelevanceMapper.insert(new ProdServiceAreaRelevanceDO()
|
||||
.setProdId(prodServiceVO.getProdId())
|
||||
.setAreaId(prodServiceAreas.getId())
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//预约设置设置
|
||||
if(Objects.equals(prodServiceVO.getReservationSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
prodReservationConfigMapper.updateById(prodServiceVO.prodReservationConfig);
|
||||
ProdReservationConfigDO reservationConfig= prodReservationConfigMapper.selectOne(new LambdaQueryWrapper<ProdReservationConfigDO>()
|
||||
.eq(ProdReservationConfigDO::getProdId, prodServiceVO.getProdId()));
|
||||
if(reservationConfig==null){
|
||||
prod.setReservationSwitch(BaseEnum.YES_ONE.getKey());
|
||||
ProdReservationConfigDO prodReservationConfigDO = prodServiceVO.getProdReservationConfig();
|
||||
prodReservationConfigDO.setProdId(prod.getProdId());
|
||||
prodReservationConfigMapper.insert(prodReservationConfigDO);
|
||||
}else {
|
||||
prodReservationConfigMapper.updateById(prodServiceVO.getProdReservationConfig());
|
||||
}
|
||||
}
|
||||
//紧急响应设置
|
||||
if(Objects.equals(prodServiceVO.getEmergencySwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
ProdEmergencyResponseDO prodEmergencyResponse = BeanUtils.toBean(prodServiceVO.prodEmergencyInfoVO, ProdEmergencyResponseDO.class);
|
||||
if(prodEmergencyResponse!=null){
|
||||
prodEmergencyResponseMapper.updateById(prodEmergencyResponse);
|
||||
prodEmergencyResponseIntervalsMapper.deleteIntervals(prodEmergencyResponse.getId());
|
||||
ProdEmergencyResponseDO rmergencyResponse= prodEmergencyResponseMapper.selectOne(new LambdaQueryWrapper<ProdEmergencyResponseDO>()
|
||||
.eq(ProdEmergencyResponseDO::getProdId, prodServiceVO.getProdId()));
|
||||
if(rmergencyResponse==null){
|
||||
prod.setEmergencySwitch(BaseEnum.YES_ONE.getKey());
|
||||
// 插入
|
||||
ProdEmergencyResponseDO prodEmergencyResponse = BeanUtils.toBean(prodServiceVO.prodEmergencyInfoVO, ProdEmergencyResponseDO.class);
|
||||
prodEmergencyResponse.setProdId(prod.getProdId());
|
||||
prodEmergencyResponseMapper.insert(prodEmergencyResponse);
|
||||
for (ProdEmergencyResponseIntervalsDO prodEmergencyResponseIntervals : prodServiceVO.prodEmergencyInfoVO.getProdEmergencyResponseIntervalsList()){
|
||||
prodEmergencyResponseIntervals.setConfigId(prodEmergencyResponse.getId());
|
||||
prodEmergencyResponseIntervalsMapper.insert(prodEmergencyResponseIntervals);
|
||||
}
|
||||
}else {
|
||||
ProdEmergencyResponseDO prodEmergencyResponse = BeanUtils.toBean(prodServiceVO.prodEmergencyInfoVO, ProdEmergencyResponseDO.class);
|
||||
if(prodEmergencyResponse!=null){
|
||||
prodEmergencyResponseMapper.updateById(prodEmergencyResponse);
|
||||
prodEmergencyResponseIntervalsMapper.deleteIntervals(prodEmergencyResponse.getId());
|
||||
for (ProdEmergencyResponseIntervalsDO prodEmergencyResponseIntervals : prodServiceVO.prodEmergencyInfoVO.getProdEmergencyResponseIntervalsList()){
|
||||
prodEmergencyResponseIntervals.setConfigId(prodEmergencyResponse.getId());
|
||||
prodEmergencyResponseIntervalsMapper.insert(prodEmergencyResponseIntervals);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//接单上线设置
|
||||
if(Objects.equals(prodServiceVO.getOrderLimitSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
productOrderLimitMapper.updateById(prodServiceVO.productOrderLimitVO);
|
||||
ProductOrderLimitDO orderLimit= productOrderLimitMapper.selectOne(new LambdaQueryWrapper<ProductOrderLimitDO>()
|
||||
.eq(ProductOrderLimitDO::getProdId, prodServiceVO.getProdId()));
|
||||
if(orderLimit==null){
|
||||
prod.setOrderLimitSwitch(BaseEnum.YES_ONE.getKey());
|
||||
ProductOrderLimitDO productOrderLimit = prodServiceVO.getProductOrderLimitVO();
|
||||
productOrderLimit.setProdId(prod.getProdId());
|
||||
productOrderLimitMapper.insert(productOrderLimit);
|
||||
}else {
|
||||
productOrderLimitMapper.updateById(prodServiceVO.getProductOrderLimitVO());
|
||||
}
|
||||
}
|
||||
//特殊时段设置
|
||||
if(Objects.equals(prodServiceVO.getAdditionalSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
for (ProdAdditionalFeeDatesDO prodAdditionalFeeDates : prodServiceVO.getProdAdditionalFeeDatesList()){
|
||||
prodAdditionalFeeDatesMapper.updateById(prodAdditionalFeeDates);
|
||||
if(prodAdditionalFeeDates.getId()==null){
|
||||
prodAdditionalFeeDates.setProdId(prodServiceVO.getProdId());
|
||||
prodAdditionalFeeDatesMapper.insert(prodAdditionalFeeDates);
|
||||
}else {
|
||||
prodAdditionalFeeDatesMapper.updateById(prodAdditionalFeeDates);
|
||||
}
|
||||
}
|
||||
}
|
||||
//特殊日期设置
|
||||
if(Objects.equals(prodServiceVO.getAdditionalFeeSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
for (ProdAdditionalFeePeriodsDO prodAdditionalFeePeriods : prodServiceVO.getProdAdditionalFeePeriodsList()){
|
||||
prodAdditionalFeePeriodsMapper.updateById(prodAdditionalFeePeriods);
|
||||
if(prodAdditionalFeePeriods.getId()==null){
|
||||
prodAdditionalFeePeriods.setProdId(prodServiceVO.getProdId());
|
||||
prodAdditionalFeePeriodsMapper.insert(prodAdditionalFeePeriods);
|
||||
}else {
|
||||
prodAdditionalFeePeriodsMapper.updateById(prodAdditionalFeePeriods);
|
||||
}
|
||||
}
|
||||
}
|
||||
//体重设置
|
||||
if(Objects.equals(prodServiceVO.getWeightSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
prodWeightRangePricesMapper.updateById(prodServiceVO.prodWeightConfig);
|
||||
if(prodServiceVO.getProdWeightConfig().getId()==null){
|
||||
prod.setWeightSwitch(BaseEnum.YES_ONE.getKey());
|
||||
ProdWeightRangePricesDO prodWeightRangePrices = prodServiceVO.getProdWeightConfig();
|
||||
prodWeightRangePrices.setProdId(prod.getProdId());
|
||||
prodWeightRangePricesMapper.insert(prodWeightRangePrices);
|
||||
}else {
|
||||
prodWeightRangePricesMapper.updateById(prodServiceVO.getProdWeightConfig());
|
||||
}
|
||||
}
|
||||
prodMapper.updateById(prod);
|
||||
}
|
||||
@@ -302,12 +372,17 @@ public class ProdServiceImpl implements ProdService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<SkuRecycleBinVO> getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO){
|
||||
IPage<SkuRecycleBinVO> prodPageList = prodMapper.getProdRecycleBinPageList(MyBatisUtils.buildPage(prodRecycleBinVO), prodRecycleBinVO.getDeleteTime(), prodRecycleBinVO.getProdName());
|
||||
for(SkuRecycleBinVO prodPage : prodPageList.getRecords()){
|
||||
public PageResult<ProdListVO> getProdRecycleBinPageList(ProdRecycleBinVO prodRecycleBinVO){
|
||||
IPage<ProdListVO> prodPageList = prodMapper.getProdRecycleBinPageList(MyBatisUtils.buildPage(prodRecycleBinVO), prodRecycleBinVO.getDeleteTime(), prodRecycleBinVO.getProdName());
|
||||
for(ProdListVO prodPage : prodPageList.getRecords()){
|
||||
prodPage.setRemainingDays(DateUtils.getRemainingDays(prodPage.getDeleteTime()));
|
||||
}
|
||||
return new PageResult<>(prodPageList.getRecords(),prodPageList.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restoreProdList(List<Long> ids) {
|
||||
prodMapper.batchRestoreProd(ids);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -23,6 +23,8 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.tashow.cloud.common.pojo.PageResult;
|
||||
import com.tashow.cloud.common.pojo.PageParam;
|
||||
import com.tashow.cloud.common.util.object.BeanUtils;
|
||||
@@ -76,14 +78,14 @@ public class SkuServiceImpl implements SkuService {
|
||||
@Transactional
|
||||
public void createSkuExtend(SkuExtendVO skuExtendVO) {
|
||||
//接运车辆配置
|
||||
if(Objects.equals(skuExtendVO.getTransportCarSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
if (Objects.equals(skuExtendVO.getTransportCarSwitch(), BaseEnum.YES_ONE.getKey())) {
|
||||
SkuServicesFormDO skuServicesFormDO = new SkuServicesFormDO();
|
||||
skuServicesFormDO.setServiceName(ServiceTypeEnum.TRANSPORT_CAR_CONFIG.getDescription());
|
||||
skuServicesFormDO.setIsEnabled(BaseEnum.YES_ONE.getKey());
|
||||
skuServicesFormDO.setType(ServiceTypeEnum.TRANSPORT_CAR_CONFIG.getCode());
|
||||
skuServicesFormDO.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesFormDO);
|
||||
for(SkuServiceDetailsDO skuServiceDetailsDO:skuExtendVO.getTransportCarList()){
|
||||
for (SkuServiceDetailsDO skuServiceDetailsDO : skuExtendVO.getTransportCarList()) {
|
||||
skuServiceDetailsDO.setServiceId(skuServicesFormDO.getId());
|
||||
skuServiceDetailsMapper.insert(skuServiceDetailsDO);
|
||||
}
|
||||
@@ -93,20 +95,20 @@ public class SkuServiceImpl implements SkuService {
|
||||
skuServicesForm.setType(ServiceTypeEnum.TRANSPORT_CAR_MATERIAL.getCode());
|
||||
skuServicesForm.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesForm);
|
||||
for(SkuServiceMaterialDO skuServiceMaterialDO:skuExtendVO.getTransportCarMaterialList()){
|
||||
for (SkuServiceMaterialDO skuServiceMaterialDO : skuExtendVO.getTransportCarMaterialList()) {
|
||||
skuServiceMaterialDO.setServiceId(skuServicesForm.getId());
|
||||
skuServiceMaterialMapper.insert(skuServiceMaterialDO);
|
||||
}
|
||||
}
|
||||
//遗体运输目的地配置
|
||||
if(Objects.equals(skuExtendVO.getTrafficSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
if (Objects.equals(skuExtendVO.getTrafficSwitch(), BaseEnum.YES_ONE.getKey())) {
|
||||
SkuServicesFormDO skuServicesFormDO = new SkuServicesFormDO();
|
||||
skuServicesFormDO.setServiceName(ServiceTypeEnum.BODY_TRANSPORT_CONFIG.getDescription());
|
||||
skuServicesFormDO.setIsEnabled(BaseEnum.YES_ONE.getKey());
|
||||
skuServicesFormDO.setType(ServiceTypeEnum.BODY_TRANSPORT_CONFIG.getCode());
|
||||
skuServicesFormDO.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesFormDO);
|
||||
for(SkuServiceTransportDO skuServiceTransportDO:skuExtendVO.getTrafficList()){
|
||||
for (SkuServiceTransportDO skuServiceTransportDO : skuExtendVO.getTrafficList()) {
|
||||
skuServiceTransportDO.setServiceId(skuServicesFormDO.getId());
|
||||
skuServiceTransportMapper.insert(skuServiceTransportDO);
|
||||
}
|
||||
@@ -116,20 +118,20 @@ public class SkuServiceImpl implements SkuService {
|
||||
skuServicesForm.setType(ServiceTypeEnum.BODY_TRANSPORT_MATERIAL.getCode());
|
||||
skuServicesForm.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesForm);
|
||||
for(SkuServiceMaterialDO skuServiceMaterialDO:skuExtendVO.getTrafficMaterialList()){
|
||||
for (SkuServiceMaterialDO skuServiceMaterialDO : skuExtendVO.getTrafficMaterialList()) {
|
||||
skuServiceMaterialDO.setServiceId(skuServicesForm.getId());
|
||||
skuServiceMaterialMapper.insert(skuServiceMaterialDO);
|
||||
}
|
||||
}
|
||||
//遗体清洁配置
|
||||
if(Objects.equals(skuExtendVO.getCleanSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
if (Objects.equals(skuExtendVO.getCleanSwitch(), BaseEnum.YES_ONE.getKey())) {
|
||||
SkuServicesFormDO skuServicesFormDO = new SkuServicesFormDO();
|
||||
skuServicesFormDO.setServiceName(ServiceTypeEnum.BODY_CLEAN_CONFIG.getDescription());
|
||||
skuServicesFormDO.setIsEnabled(BaseEnum.YES_ONE.getKey());
|
||||
skuServicesFormDO.setType(ServiceTypeEnum.BODY_CLEAN_CONFIG.getCode());
|
||||
skuServicesFormDO.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesFormDO);
|
||||
for(SkuServiceDetailsDO skuServiceDetails:skuExtendVO.getCleanList()){
|
||||
for (SkuServiceDetailsDO skuServiceDetails : skuExtendVO.getCleanList()) {
|
||||
skuServiceDetails.setServiceId(skuServicesFormDO.getId());
|
||||
skuServiceDetailsMapper.insert(skuServiceDetails);
|
||||
}
|
||||
@@ -139,20 +141,20 @@ public class SkuServiceImpl implements SkuService {
|
||||
skuServicesForm.setType(ServiceTypeEnum.BODY_CLEAN_MATERIAL.getCode());
|
||||
skuServicesForm.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesForm);
|
||||
for(SkuServiceMaterialDO skuServiceMaterialDO:skuExtendVO.getCleanMaterialList()){
|
||||
for (SkuServiceMaterialDO skuServiceMaterialDO : skuExtendVO.getCleanMaterialList()) {
|
||||
skuServiceMaterialDO.setServiceId(skuServicesForm.getId());
|
||||
skuServiceMaterialMapper.insert(skuServiceMaterialDO);
|
||||
}
|
||||
}
|
||||
//追思告别配置
|
||||
if(Objects.equals(skuExtendVO.getReflectionSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
if (Objects.equals(skuExtendVO.getReflectionSwitch(), BaseEnum.YES_ONE.getKey())) {
|
||||
SkuServicesFormDO skuServicesFormDO = new SkuServicesFormDO();
|
||||
skuServicesFormDO.setServiceName(ServiceTypeEnum.MEMORIAL_CONFIG.getDescription());
|
||||
skuServicesFormDO.setIsEnabled(BaseEnum.YES_ONE.getKey());
|
||||
skuServicesFormDO.setType(ServiceTypeEnum.MEMORIAL_CONFIG.getCode());
|
||||
skuServicesFormDO.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesFormDO);
|
||||
for(SkuServiceDetailsDO skuServiceDetails:skuExtendVO.getReflectionList()){
|
||||
for (SkuServiceDetailsDO skuServiceDetails : skuExtendVO.getReflectionList()) {
|
||||
skuServiceDetails.setServiceId(skuServicesFormDO.getId());
|
||||
skuServiceDetailsMapper.insert(skuServiceDetails);
|
||||
}
|
||||
@@ -162,21 +164,21 @@ public class SkuServiceImpl implements SkuService {
|
||||
skuServicesForm.setType(ServiceTypeEnum.MEMORIAL_MATERIAL.getCode());
|
||||
skuServicesForm.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesForm);
|
||||
for(SkuServiceMaterialDO skuServiceMaterialDO:skuExtendVO.getReflectionMaterialList()){
|
||||
for (SkuServiceMaterialDO skuServiceMaterialDO : skuExtendVO.getReflectionMaterialList()) {
|
||||
skuServiceMaterialDO.setServiceId(skuServicesForm.getId());
|
||||
skuServiceMaterialMapper.insert(skuServiceMaterialDO);
|
||||
}
|
||||
}
|
||||
|
||||
//遗体火化配置
|
||||
if(Objects.equals(skuExtendVO.getCremationSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
if (Objects.equals(skuExtendVO.getCremationSwitch(), BaseEnum.YES_ONE.getKey())) {
|
||||
SkuServicesFormDO skuServicesFormDO = new SkuServicesFormDO();
|
||||
skuServicesFormDO.setServiceName(ServiceTypeEnum.CREMATION_CONFIG.getDescription());
|
||||
skuServicesFormDO.setIsEnabled(BaseEnum.YES_ONE.getKey());
|
||||
skuServicesFormDO.setType(ServiceTypeEnum.CREMATION_CONFIG.getCode());
|
||||
skuServicesFormDO.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesFormDO);
|
||||
for(SkuServiceDetailsDO skuServiceDetails:skuExtendVO.getCremationList()){
|
||||
for (SkuServiceDetailsDO skuServiceDetails : skuExtendVO.getCremationList()) {
|
||||
skuServiceDetails.setServiceId(skuServicesFormDO.getId());
|
||||
skuServiceDetailsMapper.insert(skuServiceDetails);
|
||||
}
|
||||
@@ -186,21 +188,21 @@ public class SkuServiceImpl implements SkuService {
|
||||
skuServicesForm.setType(ServiceTypeEnum.CREMATION_MATERIAL.getCode());
|
||||
skuServicesForm.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesForm);
|
||||
for(SkuServiceMaterialDO skuServiceMaterialDO:skuExtendVO.getCremationMaterialList()){
|
||||
for (SkuServiceMaterialDO skuServiceMaterialDO : skuExtendVO.getCremationMaterialList()) {
|
||||
skuServiceMaterialDO.setServiceId(skuServicesForm.getId());
|
||||
skuServiceMaterialMapper.insert(skuServiceMaterialDO);
|
||||
}
|
||||
}
|
||||
|
||||
//骨灰处理配置
|
||||
if(Objects.equals(skuExtendVO.getAshProcessingSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
if (Objects.equals(skuExtendVO.getAshProcessingSwitch(), BaseEnum.YES_ONE.getKey())) {
|
||||
SkuServicesFormDO skuServicesFormDO = new SkuServicesFormDO();
|
||||
skuServicesFormDO.setServiceName(ServiceTypeEnum.ASH_PROCESSING_CONFIG.getDescription());
|
||||
skuServicesFormDO.setIsEnabled(BaseEnum.YES_ONE.getKey());
|
||||
skuServicesFormDO.setType(ServiceTypeEnum.ASH_PROCESSING_CONFIG.getCode());
|
||||
skuServicesFormDO.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesFormDO);
|
||||
for(SkuServiceDetailsDO skuServiceDetails:skuExtendVO.getAshProcessingList()){
|
||||
for (SkuServiceDetailsDO skuServiceDetails : skuExtendVO.getAshProcessingList()) {
|
||||
skuServiceDetails.setServiceId(skuServicesFormDO.getId());
|
||||
skuServiceDetailsMapper.insert(skuServiceDetails);
|
||||
}
|
||||
@@ -210,7 +212,7 @@ public class SkuServiceImpl implements SkuService {
|
||||
skuForm.setType(ServiceTypeEnum.ASH_PROCESSING_DELIVERY.getCode());
|
||||
skuForm.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuForm);
|
||||
for(SkuServiceDeliverDO skuServiceDeliverDO:skuExtendVO.getAshProcessingDeliverList()){
|
||||
for (SkuServiceDeliverDO skuServiceDeliverDO : skuExtendVO.getAshProcessingDeliverList()) {
|
||||
skuServiceDeliverDO.setServiceId(skuForm.getId());
|
||||
skuServiceDeliverMapper.insert(skuServiceDeliverDO);
|
||||
}
|
||||
@@ -220,35 +222,35 @@ public class SkuServiceImpl implements SkuService {
|
||||
skuServicesForm.setType(ServiceTypeEnum.ASH_PROCESSING_MATERIAL.getCode());
|
||||
skuServicesForm.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesForm);
|
||||
for(SkuServiceMaterialDO skuServiceMaterialDO:skuExtendVO.getAshProcessingMaterialList()){
|
||||
for (SkuServiceMaterialDO skuServiceMaterialDO : skuExtendVO.getAshProcessingMaterialList()) {
|
||||
skuServiceMaterialDO.setServiceId(skuServicesForm.getId());
|
||||
skuServiceMaterialMapper.insert(skuServiceMaterialDO);
|
||||
}
|
||||
}
|
||||
|
||||
//骨灰装殓配置
|
||||
if(Objects.equals(skuExtendVO.getBoneashSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
if (Objects.equals(skuExtendVO.getBoneashSwitch(), BaseEnum.YES_ONE.getKey())) {
|
||||
SkuServicesFormDO skuServicesFormDO = new SkuServicesFormDO();
|
||||
skuServicesFormDO.setServiceName(ServiceTypeEnum.BONE_ASH_CONFIG.getDescription());
|
||||
skuServicesFormDO.setIsEnabled(BaseEnum.YES_ONE.getKey());
|
||||
skuServicesFormDO.setType(ServiceTypeEnum.BONE_ASH_CONFIG.getCode());
|
||||
skuServicesFormDO.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesFormDO);
|
||||
for(SkuServiceDetailsDO skuServiceDetails:skuExtendVO.getBoneashList()){
|
||||
for (SkuServiceDetailsDO skuServiceDetails : skuExtendVO.getBoneashList()) {
|
||||
skuServiceDetails.setServiceId(skuServicesFormDO.getId());
|
||||
skuServiceDetailsMapper.insert(skuServiceDetails);
|
||||
}
|
||||
}
|
||||
|
||||
//纪念品配置
|
||||
if(Objects.equals(skuExtendVO.getSouvenirSwitch(),BaseEnum.YES_ONE.getKey())){
|
||||
if (Objects.equals(skuExtendVO.getSouvenirSwitch(), BaseEnum.YES_ONE.getKey())) {
|
||||
SkuServicesFormDO skuServicesFormDO = new SkuServicesFormDO();
|
||||
skuServicesFormDO.setServiceName(ServiceTypeEnum.SOUVENIR_CONFIG.getDescription());
|
||||
skuServicesFormDO.setIsEnabled(BaseEnum.YES_ONE.getKey());
|
||||
skuServicesFormDO.setType(ServiceTypeEnum.SOUVENIR_CONFIG.getCode());
|
||||
skuServicesFormDO.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuServicesFormDO);
|
||||
for(SkuServiceDetailsDO skuServiceDetails:skuExtendVO.getSouvenirList()){
|
||||
for (SkuServiceDetailsDO skuServiceDetails : skuExtendVO.getSouvenirList()) {
|
||||
skuServiceDetails.setServiceId(skuServicesFormDO.getId());
|
||||
skuServiceDetailsMapper.insert(skuServiceDetails);
|
||||
}
|
||||
@@ -258,7 +260,7 @@ public class SkuServiceImpl implements SkuService {
|
||||
skuForm.setType(ServiceTypeEnum.SOUVENIR_DELIVERY.getCode());
|
||||
skuForm.setName(skuExtendVO.getSkuFormName());
|
||||
skuServicesFormMapper.insert(skuForm);
|
||||
for(SkuServiceDeliverDO skuServiceDeliverDO:skuExtendVO.getSouvenirDeliverList()){
|
||||
for (SkuServiceDeliverDO skuServiceDeliverDO : skuExtendVO.getSouvenirDeliverList()) {
|
||||
skuServiceDeliverDO.setServiceId(skuForm.getId());
|
||||
skuServiceDeliverMapper.insert(skuServiceDeliverDO);
|
||||
}
|
||||
@@ -374,6 +376,7 @@ public class SkuServiceImpl implements SkuService {
|
||||
// 4. 返回组装好的对象
|
||||
return skuExtendVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateSku(SkuSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
@@ -391,73 +394,77 @@ public class SkuServiceImpl implements SkuService {
|
||||
List<SkuDO> skuList = skuPropVO.getSkuList();
|
||||
List<SkuDO> skuListNew = new ArrayList<>();
|
||||
List<SkuDO> skuListUpdate = new ArrayList<>();
|
||||
for(SkuDO sku : skuList){
|
||||
if(Objects.equals(BaseEnum.YES_ONE.getKey(), sku.getIsExist())){
|
||||
for (SkuDO sku : skuList) {
|
||||
if (Objects.equals(BaseEnum.YES_ONE.getKey(), sku.getIsExist())) {
|
||||
sku.setProdId(skuPropVO.getProdId());
|
||||
skuListNew.add(sku);
|
||||
}else {
|
||||
} else {
|
||||
skuListUpdate.add(sku);
|
||||
}
|
||||
}
|
||||
if(CollUtil.isNotEmpty(skuListNew)){
|
||||
if (CollUtil.isNotEmpty(skuListNew)) {
|
||||
skuMapper.insertBatch(skuListNew);
|
||||
}
|
||||
if(CollUtil.isNotEmpty(skuListUpdate)){
|
||||
if (CollUtil.isNotEmpty(skuListUpdate)) {
|
||||
skuMapper.updateBatch(skuListUpdate);
|
||||
}
|
||||
}
|
||||
prodExtendMapper.updateByProdId(skuPropVO.getProdId(),skuPropVO.getIsDisable(),skuPropVO.getIsExpire());
|
||||
prodExtendMapper.updateByProdId(skuPropVO.getProdId(), skuPropVO.getIsDisable(), skuPropVO.getIsExpire());
|
||||
//保存规格
|
||||
prodPropService.updateProdPropAndValues(skuPropVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteProp(Long id) {
|
||||
ProdPropValueDO prodPropValueDO =prodPropValueService.getById(id);
|
||||
ProdPropValueDO prodPropValueDO = prodPropValueService.getById(id);
|
||||
prodPropValueService.deleteProdPropValue(id);
|
||||
List<SkuDO> skuDOList = skuMapper.getSkuListByName(prodPropValueDO.getPropValue());
|
||||
List<SkuDO> skuDOList1 = new ArrayList<>();
|
||||
for(SkuDO skuDO : skuDOList){
|
||||
if(skuDO.getProperties()!=null){
|
||||
List<SkuDO> skuDOList = skuMapper.getSkuListByName(prodPropValueDO.getPropValue());
|
||||
List<Long> skuids = new ArrayList<>();
|
||||
for (SkuDO skuDO : skuDOList) {
|
||||
if (skuDO.getProperties() != null) {
|
||||
String[] split = skuDO.getProperties().split(",");
|
||||
for (String s : split){
|
||||
if(s.equals(prodPropValueDO.getPropValue())){
|
||||
skuDOList1.add(skuDO);
|
||||
for (String s : split) {
|
||||
if (s.equals(prodPropValueDO.getPropValue())) {
|
||||
skuids.add(skuDO.getSkuId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
skuMapper.deleteByIds(skuDOList1);
|
||||
if (CollUtil.isNotEmpty(skuids)) {
|
||||
skuMapper.batchSkuDeleted(skuids);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disableProp(Long id) {
|
||||
ProdPropValueDO prodPropValueDO =prodPropValueService.getById(id);
|
||||
ProdPropValueDO prodPropValueDO = prodPropValueService.getById(id);
|
||||
prodPropValueDO.setState(BaseEnum.YES_ONE.getKey());
|
||||
prodPropValueService.updateById(prodPropValueDO);
|
||||
List<SkuDO> skuDOList = skuMapper.getSkuListByName(prodPropValueDO.getPropValue());
|
||||
List<SkuDO> skuDOList = skuMapper.getSkuListByName(prodPropValueDO.getPropValue());
|
||||
List<SkuDO> skuDOList1 = new ArrayList<>();
|
||||
for(SkuDO skuDO : skuDOList){
|
||||
if(skuDO.getProperties()!=null){
|
||||
for (SkuDO skuDO : skuDOList) {
|
||||
if (skuDO.getProperties() != null) {
|
||||
String[] split = skuDO.getProperties().split(",");
|
||||
for (String s : split){
|
||||
if(s.equals(prodPropValueDO.getPropValue())){
|
||||
for (String s : split) {
|
||||
if (s.equals(prodPropValueDO.getPropValue())) {
|
||||
skuDO.setIsShelf(BaseEnum.NO_ZERO.getKey());
|
||||
skuDOList1.add(skuDO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
skuMapper.updateBatch(skuDOList1);
|
||||
if (CollUtil.isNotEmpty(skuDOList1)) {
|
||||
skuMapper.updateBatch(skuDOList1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public SkuPropInfoVO getSKuPropList(Long prodId) {
|
||||
LambdaQueryWrapper<ProdPropDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProdPropDO::getProdId,prodId);
|
||||
wrapper.eq(ProdPropDO::getProdId, prodId);
|
||||
wrapper.eq(ProdPropDO::getState, BaseEnum.YES_ONE.getKey())
|
||||
.orderByAsc(ProdPropDO::getSort);
|
||||
|
||||
List<ProdPropDO> list = prodPropService.list(wrapper);
|
||||
list.forEach(prop -> {
|
||||
List<ProdPropValueDO> values = prodPropValueService.list(
|
||||
@@ -465,14 +472,6 @@ public class SkuServiceImpl implements SkuService {
|
||||
.eq(ProdPropValueDO::getPropId, prop.getId())
|
||||
.orderByAsc(ProdPropValueDO::getSort)
|
||||
);
|
||||
/* LambdaQueryWrapper<ProdPropValueDO> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(ProdPropValueDO::getPropId,prop.getPropId());
|
||||
wrapper1.eq(ProdPropValueDO::getState, BaseEnum.YES_ONE.getKey());
|
||||
if (merchantComm.getScore() != null) {
|
||||
wrapper.eq("score", merchantComm.getScore());
|
||||
}
|
||||
wrapper1.orderByDesc(ProdPropValueDO::getSort);*/
|
||||
|
||||
prop.setProdPropValues(values);
|
||||
});
|
||||
SkuPropInfoVO skuPropInfoVO = new SkuPropInfoVO();
|
||||
@@ -484,16 +483,146 @@ public class SkuServiceImpl implements SkuService {
|
||||
return skuPropInfoVO;
|
||||
}
|
||||
|
||||
/* @Override
|
||||
public SkuPropInfoVO getSKuPropList(Long prodId, Integer isExpire, Integer state) {
|
||||
if (prodId == null) {
|
||||
throw new IllegalArgumentException("prodId 不能为空");
|
||||
}
|
||||
|
||||
// 1. 查询商品扩展信息(用于默认值)
|
||||
ProdExtendDO extendDO = prodExtendService.getOne(
|
||||
new LambdaQueryWrapper<ProdExtendDO>().eq(ProdExtendDO::getProdId, prodId)
|
||||
);
|
||||
if (extendDO == null) {
|
||||
// 如果没有扩展信息,可返回空 VO 或抛异常,根据业务决定
|
||||
return buildEmptySkuPropInfoVO(prodId);
|
||||
}
|
||||
|
||||
// 2. 设置默认值:isExpire 和 state
|
||||
Integer finalIsExpire = isExpire != null ? isExpire : extendDO.getIsExpire();
|
||||
Integer finalState = state != null ? state : extendDO.getIsDisable(); // 注意:这里你用的是 isDisable 当 state?需确认业务逻辑
|
||||
|
||||
// 3. 查询有效属性列表
|
||||
LambdaQueryWrapper<ProdPropDO> propWrapper = new LambdaQueryWrapper<>();
|
||||
propWrapper.eq(ProdPropDO::getProdId, prodId)
|
||||
.eq(ProdPropDO::getState, BaseEnum.YES_ONE.getKey()) // 只查启用的属性
|
||||
.orderByAsc(ProdPropDO::getSort);
|
||||
|
||||
List<ProdPropDO> propList = prodPropService.list(propWrapper);
|
||||
if (propList.isEmpty()) {
|
||||
return buildSkuPropInfoVO(prodId, propList, extendDO);
|
||||
}
|
||||
|
||||
// 4. 提取所有属性 ID,用于批量查询属性值
|
||||
List<Long> propIds = propList.stream()
|
||||
.map(ProdPropDO::getId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 5. 构建属性值查询条件(批量查询)
|
||||
LambdaQueryWrapper<ProdPropValueDO> valueWrapper = new LambdaQueryWrapper<>();
|
||||
valueWrapper.in(ProdPropValueDO::getPropId, propIds)
|
||||
.eq(ProdPropValueDO::getState, BaseEnum.YES_ONE.getKey()); // 启用状态
|
||||
|
||||
// 根据 isExpire 过滤(注意字段是 getIsExpire)
|
||||
if (BaseEnum.NO_ZERO.getKey().equals(finalIsExpire)) {
|
||||
valueWrapper.eq(ProdPropValueDO::getIsExpire, BaseEnum.NO_ZERO.getKey());
|
||||
} else {
|
||||
valueWrapper.eq(ProdPropValueDO::getIsExpire, BaseEnum.YES_ONE.getKey());
|
||||
}
|
||||
|
||||
// 根据 state 过滤(注意:这里你用的是 getState 字段)
|
||||
if (BaseEnum.NO_ZERO.getKey().equals(finalState)) {
|
||||
valueWrapper.eq(ProdPropValueDO::getState, BaseEnum.NO_ZERO.getKey());
|
||||
} else {
|
||||
valueWrapper.eq(ProdPropValueDO::getState, BaseEnum.YES_ONE.getKey());
|
||||
}
|
||||
|
||||
valueWrapper.orderByDesc(ProdPropValueDO::getSort);
|
||||
|
||||
List<ProdPropValueDO> valueList = prodPropValueService.list(valueWrapper);
|
||||
|
||||
// 6. 按 propId 分组,便于后续关联
|
||||
Map<Long, List<ProdPropValueDO>> valueMap = valueList.stream()
|
||||
.collect(Collectors.groupingBy(ProdPropValueDO::getPropId));
|
||||
|
||||
// 7. 关联属性与属性值
|
||||
propList.forEach(prop ->
|
||||
prop.setProdPropValues(valueMap.getOrDefault(prop.getId(), Collections.emptyList()))
|
||||
);
|
||||
|
||||
// 8. 构建并返回 VO
|
||||
return buildSkuPropInfoVO(prodId, propList, extendDO);
|
||||
}*/
|
||||
|
||||
/* @Override
|
||||
public SkuPropInfoVO getSKuPropList(Long prodId,Integer isExpire,Integer state) {
|
||||
LambdaQueryWrapper<ProdPropDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProdPropDO::getProdId,prodId);
|
||||
wrapper.eq(ProdPropDO::getState, BaseEnum.YES_ONE.getKey())
|
||||
.orderByAsc(ProdPropDO::getSort);
|
||||
ProdExtendDO prodExtendDO = prodExtendService.getOne(new LambdaQueryWrapper<ProdExtendDO>().eq(ProdExtendDO::getProdId, prodId));
|
||||
if(isExpire==null){
|
||||
isExpire = prodExtendDO.getIsExpire();
|
||||
}
|
||||
if(state==null){
|
||||
state = prodExtendDO.getIsDisable();
|
||||
}
|
||||
List<ProdPropDO> list = prodPropService.list(wrapper);
|
||||
list.forEach(prop -> {
|
||||
LambdaQueryWrapper<ProdPropValueDO> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(ProdPropValueDO::getPropId,prop.getId());
|
||||
wrapper1.eq(ProdPropValueDO::getState, BaseEnum.YES_ONE.getKey());
|
||||
if (isExpire!= null&& Objects.equals(BaseEnum.NO_ZERO.getKey(),isExpire) ) {
|
||||
wrapper1.eq(ProdPropValueDO::getIsExpire, BaseEnum.NO_ZERO.getKey());
|
||||
}else {
|
||||
wrapper1.eq(ProdPropValueDO::getIsExpire, BaseEnum.YES_ONE.getKey());
|
||||
}
|
||||
if (state!= null&& Objects.equals(BaseEnum.NO_ZERO.getKey(),state) ) {
|
||||
wrapper1.eq(ProdPropValueDO::getState, BaseEnum.NO_ZERO.getKey());
|
||||
}else {
|
||||
wrapper1.eq(ProdPropValueDO::getState, BaseEnum.YES_ONE.getKey());
|
||||
}
|
||||
wrapper1.orderByDesc(ProdPropValueDO::getSort);
|
||||
List<ProdPropValueDO> lists = prodPropValueService.list(wrapper1);
|
||||
prop.setProdPropValues(lists);
|
||||
});
|
||||
SkuPropInfoVO skuPropInfoVO = new SkuPropInfoVO();
|
||||
skuPropInfoVO.setProdId(prodId);
|
||||
skuPropInfoVO.setProdPropSaveReqVO(list);
|
||||
|
||||
skuPropInfoVO.setIsDisable(prodExtendDO.getIsDisable());
|
||||
skuPropInfoVO.setIsExpire(prodExtendDO.getIsExpire());
|
||||
return skuPropInfoVO;
|
||||
}*/
|
||||
|
||||
|
||||
// 封装构建 VO 的逻辑,避免重复代码
|
||||
private SkuPropInfoVO buildSkuPropInfoVO(Long prodId, List<ProdPropDO> propList, ProdExtendDO extendDO) {
|
||||
SkuPropInfoVO vo = new SkuPropInfoVO();
|
||||
vo.setProdId(prodId);
|
||||
vo.setProdPropSaveReqVO(propList);
|
||||
vo.setIsDisable(extendDO.getIsDisable());
|
||||
vo.setIsExpire(extendDO.getIsExpire());
|
||||
return vo;
|
||||
}
|
||||
|
||||
// 空情况处理
|
||||
private SkuPropInfoVO buildEmptySkuPropInfoVO(Long prodId) {
|
||||
SkuPropInfoVO vo = new SkuPropInfoVO();
|
||||
vo.setProdId(prodId);
|
||||
vo.setProdPropSaveReqVO(Collections.emptyList());
|
||||
vo.setIsDisable(BaseEnum.NO_ZERO.getKey()); // 默认值
|
||||
vo.setIsExpire(BaseEnum.NO_ZERO.getKey());
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteSku(Long id) {
|
||||
// 校验存在
|
||||
validateSkuExists(id);
|
||||
SkuDO sku = new SkuDO();
|
||||
sku.setSkuId(id);
|
||||
sku.setDeleteTime(new Date());
|
||||
|
||||
SkuDO prodSku = skuMapper.selectById( id);
|
||||
SkuDO prodSku = skuMapper.selectById(id);
|
||||
// Step 1: 获取该商品下所有未删除的 SKU 的 properties
|
||||
List<String> activeProperties = skuMapper.selectPropertiesByProdIdAndNotDeleted(prodSku.getProdId());
|
||||
|
||||
@@ -508,7 +637,7 @@ public class SkuServiceImpl implements SkuService {
|
||||
}
|
||||
}
|
||||
// 删除
|
||||
skuMapper.deleteById(sku);
|
||||
skuMapper.deleteBySkuId(id);
|
||||
// Step 3: 查询该商品下所有 rule=1 的属性值(销售属性)
|
||||
List<ProdPropValueDO> allPropValues = prodPropValueMapper.selectSalesValuesByProdId(prodSku.getProdId());
|
||||
// Step 4: 遍历每个属性值,检查是否还在被使用
|
||||
@@ -518,7 +647,7 @@ public class SkuServiceImpl implements SkuService {
|
||||
if (!currentlyUsedValues.contains(value)) {
|
||||
// 可以安全删除该属性值
|
||||
// 可以安全禁用该属性值
|
||||
ProdPropValueDO prodPropValueDO = new ProdPropValueDO();
|
||||
ProdPropValueDO prodPropValueDO = new ProdPropValueDO();
|
||||
prodPropValueDO.setId(pv.getId());
|
||||
prodPropValueDO.setIsExpire(BaseEnum.YES_ONE.getKey());
|
||||
prodPropValueDO.setDeleteTime(new Date());
|
||||
@@ -533,30 +662,22 @@ public class SkuServiceImpl implements SkuService {
|
||||
if (ids == null || ids.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Step 1: 查询这些 SKU 的基本信息(主要是 prod_id)
|
||||
List<SkuDO> skuList = skuMapper.selectByIds(ids);
|
||||
if (skuList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Long prodId = skuList.get(0).getProdId();
|
||||
// 校验是否属于同一个商品(可选)
|
||||
boolean allSameProd = skuList.stream().allMatch(s -> s.getProdId().equals(prodId));
|
||||
if (!allSameProd) {
|
||||
throw new IllegalArgumentException("批量删除的 SKU 必须属于同一个商品");
|
||||
}
|
||||
|
||||
|
||||
// Step 3: 获取该商品下【当前仍然未删除】的 SKU 的 properties
|
||||
List<String> activeProperties = skuMapper.selectPropertiesByProdIdAndNotDeleted(prodId);
|
||||
|
||||
for(Long id:ids){
|
||||
SkuDO sku = new SkuDO();
|
||||
sku.setSkuId(id);
|
||||
sku.setDeleteTime(new Date());
|
||||
for (Long id : ids) {
|
||||
// 删除
|
||||
skuMapper.deleteById(sku);
|
||||
skuMapper.deleteBySkuId(id);
|
||||
}
|
||||
// Step 4: 提取所有仍在使用的属性值(去重 + trim)
|
||||
Set<String> currentlyUsedValues = new HashSet<>();
|
||||
@@ -568,7 +689,6 @@ public class SkuServiceImpl implements SkuService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Step 5: 查询该商品下所有 rule=1 的销售属性值(未删除的)
|
||||
List<ProdPropValueDO> allPropValues = prodPropValueMapper.selectSalesValuesByProdId(prodId);
|
||||
|
||||
@@ -586,12 +706,47 @@ public class SkuServiceImpl implements SkuService {
|
||||
}
|
||||
}
|
||||
|
||||
//恢复SKU
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void restoreSkuList(List<Long> ids) {
|
||||
List<SkuDO> skuList = skuMapper.selectByIds(ids);
|
||||
if (skuList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
Set<String> currentlyUsedValues = new HashSet<>();
|
||||
for (SkuDO sku : skuList) {
|
||||
sku.setDeleted(BaseEnum.NO_ZERO.getKey());
|
||||
skuMapper.updateById(sku);
|
||||
if (sku.getProperties() != null && !sku.getProperties().trim().isEmpty()) {
|
||||
String[] values = sku.getProperties().split(",");
|
||||
for (String v : values) {
|
||||
currentlyUsedValues.add(v.trim());
|
||||
}
|
||||
}
|
||||
}
|
||||
//恢复被删除的属性值
|
||||
if(!currentlyUsedValues.isEmpty()){
|
||||
Long prodId = skuList.get(0).getProdId();
|
||||
List<ProdPropValueDO> allPropValues =prodPropValueMapper.selectRestoreProp(prodId);
|
||||
if(!allPropValues.isEmpty()){
|
||||
for (ProdPropValueDO pv : allPropValues){
|
||||
if (currentlyUsedValues.contains(pv.getPropValue())) {
|
||||
pv.setIsExpire(BaseEnum.NO_ZERO.getKey());
|
||||
prodPropValueMapper.updateById(pv);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void updatSkuIsShelf(Long id, Integer isShelf) {
|
||||
// 校验存在
|
||||
validateSkuExists(id);
|
||||
|
||||
SkuDO prodSku = skuMapper.selectById( id);
|
||||
SkuDO prodSku = skuMapper.selectById(id);
|
||||
// Step 1: 获取该商品下所有未禁用的 SKU 的 properties
|
||||
List<String> activeProperties = skuMapper.selectPropertiesByProdIdShelf(prodSku.getProdId());
|
||||
SkuDO sku = new SkuDO();
|
||||
@@ -616,7 +771,7 @@ public class SkuServiceImpl implements SkuService {
|
||||
// 如果当前属性值不在“活跃使用”列表中,说明没有未删除的 SKU 使用它
|
||||
if (!currentlyUsedValues.contains(value)) {
|
||||
// 可以安全禁用该属性值
|
||||
ProdPropValueDO prodPropValueDO = new ProdPropValueDO();
|
||||
ProdPropValueDO prodPropValueDO = new ProdPropValueDO();
|
||||
prodPropValueDO.setId(pv.getId());
|
||||
prodPropValueDO.setState(BaseEnum.NO_ZERO.getKey());
|
||||
prodPropValueMapper.updateById(prodPropValueDO);
|
||||
@@ -647,7 +802,7 @@ public class SkuServiceImpl implements SkuService {
|
||||
// Step 3: 获取该商品下【当前仍然未禁用】的 SKU 的 properties
|
||||
List<String> activeProperties = skuMapper.selectPropertiesByProdIdShelf(prodId);
|
||||
|
||||
for(Long id:ids){
|
||||
for (Long id : ids) {
|
||||
SkuDO sku = new SkuDO();
|
||||
sku.setSkuId(id);
|
||||
sku.setIsShelf(isShelf);
|
||||
@@ -694,23 +849,24 @@ public class SkuServiceImpl implements SkuService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<SkuRecycleBinVO> getSkuRecycleBinPageList(SkuPageReqVO pageReqVO){
|
||||
public PageResult<SkuRecycleBinVO> getSkuRecycleBinPageList(SkuPageReqVO pageReqVO) {
|
||||
IPage<SkuRecycleBinVO> prodPageList = skuMapper.getSkuRecycleBinPageList(MyBatisUtils.buildPage(pageReqVO), pageReqVO.getProdId(), pageReqVO.getProperties());
|
||||
for(SkuRecycleBinVO prodPage : prodPageList.getRecords()){
|
||||
prodPage.setRemainingDays(DateUtils.getRemainingDays(prodPage.getDeleteTime()));
|
||||
for (SkuRecycleBinVO prodPage : prodPageList.getRecords()) {
|
||||
if (prodPage.getDeleteTime() != null) {
|
||||
prodPage.setRemainingDays(DateUtils.getRemainingDays(prodPage.getDeleteTime()));
|
||||
}
|
||||
}
|
||||
return new PageResult<>(prodPageList.getRecords(),prodPageList.getTotal());
|
||||
return new PageResult<>(prodPageList.getRecords(), prodPageList.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<SkuDO> getSkuPageList(SkuPageReqVO pageReqVO){
|
||||
IPage<SkuDO> prodPageList = skuMapper.getSkuPageList(MyBatisUtils.buildPage(pageReqVO), pageReqVO.getProdId(), pageReqVO.getSkuId(),pageReqVO.getProperties());
|
||||
public PageResult<SkuDO> getSkuPageList(SkuPageReqVO pageReqVO) {
|
||||
IPage<SkuDO> prodPageList = skuMapper.getSkuPageList(MyBatisUtils.buildPage(pageReqVO), pageReqVO.getProdId(), pageReqVO.getSkuId(), pageReqVO.getProperties());
|
||||
|
||||
return new PageResult<>(prodPageList.getRecords(),prodPageList.getTotal());
|
||||
return new PageResult<>(prodPageList.getRecords(), prodPageList.getTotal());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public PageResult<SkuDO> getSkuPage(SkuPageReqVO pageReqVO) {
|
||||
return null;
|
||||
|
||||
@@ -520,14 +520,65 @@
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getProdRecycleBinPageList" resultType="com.tashow.cloud.productapi.api.product.vo.sku.SkuRecycleBinVO" >
|
||||
select * from tz_prod where deleted = 1
|
||||
|
||||
|
||||
<!-- 结果映射:将数据库查询结果映射到 ProdServiceVO -->
|
||||
<resultMap id="ProdRecycleBinMap" type="com.tashow.cloud.productapi.api.product.vo.prod.ProdListVO"> <!-- 确保这是 ProdServiceVO 的正确包名 -->
|
||||
<!-- 商品基本信息映射 -->
|
||||
<id property="prodId" column="prod_id"/>
|
||||
<result property="prodName" column="prod_name"/>
|
||||
<result property="categoryName" column="category_name"/>
|
||||
<result property="shopId" column="shop_id"/>
|
||||
<result property="shopName" column="shop_name"/>
|
||||
<collection property="areaNameList" ofType="string">
|
||||
<result column="sa_area_name"/>
|
||||
</collection>
|
||||
<!-- <association property="prodReservationConfig" javaType="com.tashow.cloud.productapi.api.product.dto.ProdReservationConfigDO">
|
||||
<id property="id" column="rc_record_id"/>
|
||||
<result property="prodId" column="rc_prod_id"/>
|
||||
<result property="reservationTimeSlots" column="rc_reservation_time_slots"/>
|
||||
<result property="advanceHours" column="rc_advance_hours"/>
|
||||
<result property="reservationDateRange" column="rc_reservation_date_range"/>
|
||||
<result property="allowChange" column="rc_allow_change"/>
|
||||
<result property="changeTimeRule" column="rc_change_time_rule"/>
|
||||
<result property="maxChangeTimes" column="rc_max_change_times"/>
|
||||
<result property="blacklistedDates" column="rc_blacklisted_dates"/>
|
||||
<result property="isBlacklisted" column="rc_is_blacklisted"/>
|
||||
<result property="blackAppointDates" column="rc_black_appoint_dates"/>
|
||||
<result property="isBlackAppoint" column="rc_is_black_appoint"/>
|
||||
<result property="blackHappy" column="rc_black_happy"/>
|
||||
<result property="blackWeekend" column="rc_black_weekend"/>
|
||||
</association>-->
|
||||
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
|
||||
|
||||
<select id="getProdRecycleBinPageList" resultMap="ProdRecycleBinMap" >
|
||||
select tp.prod_id,tp.prod_name,tp.category_name,tp.shop_id,tsd.shop_name,tpsa.area_name
|
||||
from tz_prod tp
|
||||
left join tz_shop_detail tsd on tp.shop_id = tsd.shop_id
|
||||
left join tz_prod_service_area_relevance tpsar on tp.prod_id = tpsar.prod_id
|
||||
left join tz_prod_service_areas tpsa on tpsar.area_id = tpsa.id
|
||||
where deleted = 1
|
||||
<if test="properties != null and properties != ''">
|
||||
and properties like concat('%', #{prodName}, '%')
|
||||
and tp.properties like concat('%', #{prodName}, '%')
|
||||
</if>
|
||||
<if test="deleteTime != null and deleteTime.length == 2">
|
||||
AND delete_time BETWEEN #{deleteTime[0]} AND #{deleteTime[1]}
|
||||
AND tp.delete_time BETWEEN #{deleteTime[0]} AND #{deleteTime[1]}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<update id="batchRestoreProd">
|
||||
UPDATE tz_prod
|
||||
SET deleted = 0
|
||||
WHERE prod_id IN
|
||||
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -22,7 +22,7 @@
|
||||
SELECT
|
||||
pp.id AS propId,
|
||||
pp.prop_name,
|
||||
ppv.id AS valueId,
|
||||
ppv.id AS id,
|
||||
ppv.prop_value
|
||||
FROM tz_prod_prop pp
|
||||
JOIN tz_prod_prop_value ppv ON pp.id = ppv.prop_id
|
||||
@@ -35,7 +35,7 @@
|
||||
SELECT
|
||||
pp.id AS propId,
|
||||
pp.prop_name,
|
||||
ppv.id AS valueId,
|
||||
ppv.id AS id,
|
||||
ppv.prop_value
|
||||
FROM tz_prod_prop pp
|
||||
JOIN tz_prod_prop_value ppv ON pp.id = ppv.prop_id
|
||||
@@ -54,7 +54,30 @@
|
||||
SET is_expire = 1, delete_time = NOW()
|
||||
WHERE id IN
|
||||
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
||||
#{ids}
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
|
||||
<update id="deleteProdPropValueById">
|
||||
UPDATE tz_prod_prop_value
|
||||
SET
|
||||
is_expire = 1, delete_time = NOW()
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="selectRestoreProp" resultType="com.tashow.cloud.productapi.api.product.dto.ProdPropValueDO">
|
||||
SELECT
|
||||
ppv.id AS id,
|
||||
ppv.prop_value
|
||||
FROM tz_prod_prop pp
|
||||
JOIN tz_prod_prop_value ppv ON pp.id = ppv.prop_id
|
||||
WHERE pp.prod_id = #{prodId}
|
||||
AND pp.rule = 1
|
||||
AND ppv.is_expire = 1
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -26,14 +26,14 @@
|
||||
and sku_id = #{skuId}
|
||||
</if>
|
||||
<if test="properties != null and properties != ''">
|
||||
and properties like concat('%', #{propertiesName}, '%')
|
||||
and properties like concat('%', #{properties}, '%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getSkuListByName" resultType="com.tashow.cloud.productapi.api.product.dto.SkuDO" >
|
||||
select sku_id, properties, delete_time,deleted from tz_sku
|
||||
<if test="properties != null and properties != ''">
|
||||
select sku_id, properties, delete_time,deleted from tz_sku where deleted = 0
|
||||
<if test="propertiesName != null and propertiesName != ''">
|
||||
and properties like concat('%', #{propertiesName}, '%')
|
||||
</if>
|
||||
</select>
|
||||
@@ -55,5 +55,22 @@
|
||||
and is_shelf =0
|
||||
</select>
|
||||
|
||||
<update id="deleteBySkuId">
|
||||
UPDATE tz_sku
|
||||
SET
|
||||
deleted = 1,
|
||||
delete_time = now()
|
||||
WHERE sku_id = #{skuId}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="batchSkuDeleted">
|
||||
UPDATE tz_sku
|
||||
SET deleted = 1,
|
||||
delete_time = now()
|
||||
WHERE sku_id IN
|
||||
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user