pad点餐接口
This commit is contained in:
@@ -1,10 +1,7 @@
|
|||||||
package com.czg.controller.admin;
|
package com.czg.controller.admin;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
import com.czg.account.dto.pad.PadDetailAddDTO;
|
import com.czg.account.dto.pad.*;
|
||||||
import com.czg.account.dto.pad.PadDetailDTO;
|
|
||||||
import com.czg.account.dto.pad.PadDetailEditDTO;
|
|
||||||
import com.czg.account.dto.pad.PadProductCategoryDTO;
|
|
||||||
import com.czg.account.entity.PadProductCategoryDetail;
|
import com.czg.account.entity.PadProductCategoryDetail;
|
||||||
import com.czg.account.service.PadProdService;
|
import com.czg.account.service.PadProdService;
|
||||||
import com.czg.annotation.SaAdminCheckPermission;
|
import com.czg.annotation.SaAdminCheckPermission;
|
||||||
@@ -65,9 +62,19 @@ public class PadProdController {
|
|||||||
* pad点餐修改
|
* pad点餐修改
|
||||||
* @return 是否成功
|
* @return 是否成功
|
||||||
*/
|
*/
|
||||||
@SaAdminCheckPermission(value = "padProd:edit", name = "pad点餐详情")
|
@SaAdminCheckPermission(value = "padProd:edit", name = "pad点餐修改")
|
||||||
@PutMapping
|
@PutMapping
|
||||||
public CzgResult<Boolean> edit(@RequestBody @Validated PadDetailEditDTO padDetailEditDTO) {
|
public CzgResult<Boolean> edit(@RequestBody @Validated PadDetailEditDTO padDetailEditDTO) {
|
||||||
return CzgResult.success(padProdService.edit(StpKit.USER.getShopId(), padDetailEditDTO));
|
return CzgResult.success(padProdService.edit(StpKit.USER.getShopId(), padDetailEditDTO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pad点餐修改
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
@SaAdminCheckPermission(value = "padProd:del", name = "pad点餐删除")
|
||||||
|
@DeleteMapping
|
||||||
|
public CzgResult<Boolean> del(@RequestBody @Validated PadDetailDelDTO delDTO) {
|
||||||
|
return CzgResult.success(padProdService.del(StpKit.USER.getShopId(), delDTO));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.czg.account.dto.pad;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Administrator
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PadDetailDelDTO {
|
||||||
|
/**
|
||||||
|
* 列表id
|
||||||
|
*/
|
||||||
|
@NotNull(message = "tb_pad_product_categoryId不为空")
|
||||||
|
private Long id;
|
||||||
|
}
|
||||||
@@ -13,6 +13,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pad商品自定义分类 实体类。
|
* Pad商品自定义分类 实体类。
|
||||||
@@ -25,6 +26,7 @@ import lombok.NoArgsConstructor;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Table("tb_pad_product_category")
|
@Table("tb_pad_product_category")
|
||||||
|
@Accessors(chain = true)
|
||||||
public class PadProductCategory implements Serializable {
|
public class PadProductCategory implements Serializable {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pad商品自定义分类明细 实体类。
|
* Pad商品自定义分类明细 实体类。
|
||||||
@@ -25,6 +26,7 @@ import lombok.NoArgsConstructor;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Table("tb_pad_product_category_detail")
|
@Table("tb_pad_product_category_detail")
|
||||||
|
@Accessors(chain = true)
|
||||||
public class PadProductCategoryDetail implements Serializable {
|
public class PadProductCategoryDetail implements Serializable {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
package com.czg.account.service;
|
package com.czg.account.service;
|
||||||
|
|
||||||
import com.czg.account.dto.pad.PadDetailAddDTO;
|
import com.czg.account.dto.pad.*;
|
||||||
import com.czg.account.dto.pad.PadDetailDTO;
|
|
||||||
import com.czg.account.dto.pad.PadDetailEditDTO;
|
|
||||||
import com.czg.account.dto.pad.PadProductCategoryDTO;
|
|
||||||
import com.mybatisflex.core.paginate.Page;
|
import com.mybatisflex.core.paginate.Page;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -18,4 +15,5 @@ public interface PadProdService {
|
|||||||
|
|
||||||
Boolean add(Long shopId, PadDetailAddDTO padDetailAddDTO);
|
Boolean add(Long shopId, PadDetailAddDTO padDetailAddDTO);
|
||||||
|
|
||||||
|
Boolean del(Long shopId, PadDetailDelDTO delDTO);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,9 @@
|
|||||||
package com.czg.service.account.service.impl;
|
package com.czg.service.account.service.impl;
|
||||||
|
|
||||||
import com.czg.account.dto.pad.PadDetailAddDTO;
|
import com.czg.account.dto.pad.*;
|
||||||
import com.czg.account.dto.pad.PadDetailDTO;
|
import com.czg.account.entity.*;
|
||||||
import com.czg.account.dto.pad.PadDetailEditDTO;
|
import com.czg.account.service.*;
|
||||||
import com.czg.account.dto.pad.PadProductCategoryDTO;
|
import com.czg.enums.StatusEnum;
|
||||||
import com.czg.account.entity.PadProductCategory;
|
|
||||||
import com.czg.account.entity.PadProductCategoryDetail;
|
|
||||||
import com.czg.account.entity.Product;
|
|
||||||
import com.czg.account.entity.ShopProdCategory;
|
|
||||||
import com.czg.account.service.PadProdService;
|
|
||||||
import com.czg.account.service.PadProductCategoryService;
|
|
||||||
import com.czg.account.service.ProductService;
|
|
||||||
import com.czg.account.service.ShopProdCategoryService;
|
|
||||||
import com.czg.exception.ApiNotPrintException;
|
import com.czg.exception.ApiNotPrintException;
|
||||||
import com.czg.service.account.mapper.PadProductCategoryDetailMapper;
|
import com.czg.service.account.mapper.PadProductCategoryDetailMapper;
|
||||||
import com.mybatisflex.core.paginate.Page;
|
import com.mybatisflex.core.paginate.Page;
|
||||||
@@ -19,6 +11,7 @@ import com.mybatisflex.core.query.QueryWrapper;
|
|||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,6 +27,10 @@ public class PadProdServiceImpl implements PadProdService {
|
|||||||
private ProductService productService;
|
private ProductService productService;
|
||||||
@Resource
|
@Resource
|
||||||
private ShopProdCategoryService shopProdCategoryService;
|
private ShopProdCategoryService shopProdCategoryService;
|
||||||
|
@Resource
|
||||||
|
private PadLayoutService padLayoutService;
|
||||||
|
@Resource
|
||||||
|
private PadProductCategoryDetailService padProductCategoryDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<PadProductCategoryDTO> pageInfo(Page<PadProductCategoryDTO> objectPage, Long productCategoryId, Long shopId) {
|
public Page<PadProductCategoryDTO> pageInfo(Page<PadProductCategoryDTO> objectPage, Long productCategoryId, Long shopId) {
|
||||||
@@ -66,12 +63,64 @@ public class PadProdServiceImpl implements PadProdService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean add(Long shopId, PadDetailAddDTO padDetailAddDTO) {
|
public Boolean add(Long shopId, PadDetailAddDTO padDetailAddDTO) {
|
||||||
shopProdCategoryService.getOne(new QueryWrapper().eq(ShopProdCategory::getId, padDetailAddDTO.getProductCategoryId()));
|
long count = shopProdCategoryService.count(new QueryWrapper().eq(ShopProdCategory::getId, padDetailAddDTO.getProductCategoryId()));
|
||||||
return null;
|
if (count == 0) {
|
||||||
|
throw new ApiNotPrintException("商品分类不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
checkInfo(shopId, padDetailAddDTO.getPadLayoutId(), padDetailAddDTO.getProductIdList());
|
||||||
|
|
||||||
|
PadProductCategory padProductCategory = new PadProductCategory().setPadLayoutId(padDetailAddDTO.getPadLayoutId()).setProductCategoryId(padDetailAddDTO.getProductCategoryId())
|
||||||
|
.setShopId(shopId);
|
||||||
|
padProductCategoryService.save(padProductCategory);
|
||||||
|
|
||||||
|
ArrayList<PadProductCategoryDetail> details = new ArrayList<>();
|
||||||
|
padDetailAddDTO.getProductIdList().forEach(item -> {
|
||||||
|
details.add(new PadProductCategoryDetail().setPadProductCategoryId(padProductCategory.getId()).setProductId(item));
|
||||||
|
});
|
||||||
|
return padProductCategoryDetailService.saveBatch(details);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean edit(Long shopId, PadDetailEditDTO padDetailEditDTO) {
|
public Boolean edit(Long shopId, PadDetailEditDTO padDetailEditDTO) {
|
||||||
return null;
|
PadProductCategory category = padProductCategoryService.getOne(new QueryWrapper().eq(PadProductCategory::getShopId, shopId).eq(PadProductCategory::getId, padDetailEditDTO.getId()));
|
||||||
|
if (category == null) {
|
||||||
|
throw new ApiNotPrintException("pad商品不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
checkInfo(shopId, padDetailEditDTO.getPadLayoutId(), padDetailEditDTO.getProductIdList());
|
||||||
|
padProductCategoryDetailService.remove(new QueryWrapper().eq(PadProductCategoryDetail::getPadProductCategoryId, padDetailEditDTO.getId()));
|
||||||
|
|
||||||
|
category.setPadLayoutId(padDetailEditDTO.getPadLayoutId());
|
||||||
|
padProductCategoryService.updateById(category);
|
||||||
|
|
||||||
|
ArrayList<PadProductCategoryDetail> details = new ArrayList<>();
|
||||||
|
padDetailEditDTO.getProductIdList().forEach(item -> {
|
||||||
|
details.add(new PadProductCategoryDetail().setPadProductCategoryId(padDetailEditDTO.getId()).setProductId(item));
|
||||||
|
});
|
||||||
|
return padProductCategoryDetailService.saveBatch(details);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkInfo(Long shopId, Long padLayoutId, List<Long> productIdList) {
|
||||||
|
long layOutCount = padLayoutService.count(new QueryWrapper().eq(PadLayout::getId, padLayoutId).eq(PadLayout::getIsDel, 0));
|
||||||
|
if (layOutCount == 0) {
|
||||||
|
throw new ApiNotPrintException("pad布局不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
long proCount = productService.count(new QueryWrapper().eq(Product::getShopId, shopId).in(Product::getId, productIdList));
|
||||||
|
if (proCount != productIdList.size()) {
|
||||||
|
throw new ApiNotPrintException("存在错误商品id");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean del(Long shopId, PadDetailDelDTO delDTO) {
|
||||||
|
PadProductCategory category = padProductCategoryService.getOne(new QueryWrapper().eq(PadProductCategory::getShopId, shopId).eq(PadProductCategory::getId, delDTO.getId()));
|
||||||
|
if (category == null) {
|
||||||
|
throw new ApiNotPrintException("pad商品不存在");
|
||||||
|
}
|
||||||
|
padProductCategoryService.removeById(delDTO.getId());
|
||||||
|
|
||||||
|
return padProductCategoryDetailService.remove(new QueryWrapper().eq(PadProductCategoryDetail::getPadProductCategoryId, delDTO.getId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user