From d448834784e996a3c35c90097c4e7b110899bed2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 04 Jul 2025 14:02:02 +0800
Subject: [PATCH] feat(clothes): 添加订单管理功能
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesServiceImpl.java | 81 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 78 insertions(+), 3 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesServiceImpl.java
index 725044a..0459e9a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesServiceImpl.java
@@ -3,6 +3,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.ClothesEnum;
import cc.mrbird.febs.common.enumerates.StateUpDownEnum;
+import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.mall.dto.clothes.*;
import cc.mrbird.febs.mall.entity.*;
@@ -12,6 +13,7 @@
import cc.mrbird.febs.mall.vo.clothes.*;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -19,6 +21,7 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@@ -35,9 +38,14 @@
private final ClothesTypePatternMapper clothesTypePatternMapper;
private final ClothesTypeSizeMapper clothesTypeSizeMapper;
private final ClothesSizeMapper clothesSizeMapper;
+ private final ClothesPatternMapper clothesPatternMapper;
+ private final ClothesLocationMapper clothesLocationMapper;
+ private final ClothesClothMapper clothesClothMapper;
+ private final ClothesArtMapper clothesArtMapper;
private final ClothesTypeLocationMapper clothesTypeLocationMapper;
private final ClothesTypeArtMapper clothesTypeArtMapper;
private final ClothesMemberStatureMapper clothesMemberStatureMapper;
+ private final ClothesOrderDraftMapper clothesOrderDraftMapper;
@Override
public FebsResponse clothesType() {
@@ -254,15 +262,82 @@
@Override
public FebsResponse statureDel(ApiClothesMemberStatureInfoDto dto) {
-
Long memberId = LoginUserUtil.getLoginUser().getId();
- clothesMemberStatureMapper.delete(
+ clothesMemberStatureMapper.update(null,
Wrappers.lambdaUpdate(ClothesMemberStature.class)
+ .set(ClothesMemberStature::getDelFlag, ClothesEnum.UP.getCode())
.eq(ClothesMemberStature::getId, dto.getId())
.eq(ClothesMemberStature::getMemberId, memberId)
- .eq(ClothesMemberStature::getDelFlag, ClothesEnum.DOWN.getCode())
);
return new FebsResponse().success().message("操作成功");
}
+
+ @Override
+ @Transactional
+ public FebsResponse draftSave(ApiMyDraftSaveDto dto) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+
+ ClothesOrderDraft clothesOrderDraft = new ClothesOrderDraft();
+ clothesOrderDraft.setMemberId(memberId);
+
+ Long typeId = ObjectUtil.defaultIfNull(dto.getTypeId(),0L);
+ ClothesType clothesType = clothesTypeMapper.selectById(typeId);
+ if (ObjectUtil.isNull(clothesType)){
+ throw new FebsException("请选择商品");
+ }
+ if (ClothesEnum.UP.getCode() != clothesType.getState()){
+ throw new FebsException("商品已下架");
+ }
+ clothesOrderDraft.setTypeId(typeId);
+
+ Long sizeId = ObjectUtil.defaultIfNull(dto.getSizeId(),0L);
+ ClothesSize clothesSize = clothesSizeMapper.selectById(sizeId);
+ if (ObjectUtil.isNull(clothesSize)){
+ throw new FebsException("请选择尺码");
+ }
+ clothesOrderDraft.setSizeId(sizeId);
+
+ Long patternId = ObjectUtil.defaultIfNull(dto.getPatternId(),0L);
+ ClothesPattern pattern = clothesPatternMapper.selectById(patternId);
+ if (ObjectUtil.isNull(pattern)){
+ throw new FebsException("请选择图案");
+ }
+ clothesOrderDraft.setPatternId(patternId);
+ if(StrUtil.isNotBlank(dto.getPatternRemark())){
+ clothesOrderDraft.setPatternRemark(dto.getPatternRemark());
+ }
+
+ Long locationId = ObjectUtil.defaultIfNull(dto.getLocationId(),0L);
+ ClothesLocation clothesLocation = clothesLocationMapper.selectById(locationId);
+ if (ObjectUtil.isNull(clothesLocation)){
+ throw new FebsException("请选择图案位置");
+ }
+ clothesOrderDraft.setLocationId(locationId);
+
+ Long clothId = ObjectUtil.defaultIfNull(dto.getClothId(),0L);
+ ClothesCloth clothesCloth = clothesClothMapper.selectById(clothId);
+ if (ObjectUtil.isNull(clothesCloth)){
+ throw new FebsException("请选择布料");
+ }
+ clothesOrderDraft.setClothId(clothId);
+
+ Long artId = ObjectUtil.defaultIfNull(dto.getArtId(),0L);
+ ClothesArt clothesArt = clothesArtMapper.selectById(artId);
+ if (ObjectUtil.isNull(clothesArt)){
+ throw new FebsException("请选择工艺");
+ }
+ clothesOrderDraft.setArtId(artId);
+
+ Long statureId = ObjectUtil.defaultIfNull(dto.getStatureId(),0L);
+ ClothesMemberStature clothesMemberStature = clothesMemberStatureMapper.selectById(statureId);
+ if (ObjectUtil.isNull(clothesMemberStature)){
+ throw new FebsException("请选择身材数据");
+ }
+ clothesOrderDraft.setStatureId(clothesMemberStature.getId());
+
+ clothesOrderDraftMapper.insert(clothesOrderDraft);
+
+ return new FebsResponse().success().message("操作成功");
+ }
}
--
Gitblit v1.9.1