From 4c9c358ede7e52d6063716b3374dd437910cd417 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Wed, 02 Jul 2025 11:09:31 +0800 Subject: [PATCH] feat(mall): 添加衣服设计相关接口和模型 --- src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesTypeListVo.java | 21 + src/main/resources/mapper/modules/ClothesTypeArtMapper.xml | 24 + src/main/resources/mapper/modules/ClothesTypeLocationMapper.xml | 24 + src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesClothVo.java | 32 + src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeClothMapper.java | 7 src/main/java/cc/mrbird/febs/mall/entity/ClothesMemberStature.java | 34 + src/main/java/cc/mrbird/febs/mall/entity/ClothesType.java | 2 src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesClothPageDto.java | 28 + src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureDto.java | 26 + src/main/java/cc/mrbird/febs/mall/mapper/ClothesMemberStatureMapper.java | 14 src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureInfoDto.java | 17 src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiTypeInfoDto.java | 16 src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypePatternMapper.java | 7 src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesArtVo.java | 31 + src/main/resources/mapper/modules/ClothesTypePatternMapper.xml | 26 + src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeLocationMapper.java | 7 src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeArtMapper.java | 7 src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesLocationPageDto.java | 27 + src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesController.java | 139 ++++++ src/main/java/cc/mrbird/febs/mall/service/ApiClothesService.java | 33 + src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesServiceImpl.java | 268 +++++++++++++ src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureAddDto.java | 52 ++ src/main/resources/mapper/modules/ClothesMemberStatureMapper.xml | 23 + src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureUpdateDto.java | 54 ++ src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesMemberStatureVo.java | 29 + src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesPatternVo.java | 35 + src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesLocationVo.java | 31 + src/main/resources/mapper/modules/ClothesTypeClothMapper.xml | 24 + src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesSizeDto.java | 18 src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesSizeVo.java | 33 + src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesPatternPageDto.java | 27 + src/main/java/cc/mrbird/febs/common/enumerates/ClothesEnum.java | 21 + src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesArtPageDto.java | 27 + src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesTypeVo.java | 33 + 34 files changed, 1,196 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/ClothesEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/ClothesEnum.java new file mode 100644 index 0000000..386953c --- /dev/null +++ b/src/main/java/cc/mrbird/febs/common/enumerates/ClothesEnum.java @@ -0,0 +1,21 @@ +package cc.mrbird.febs.common.enumerates; + +import lombok.Getter; + +@Getter +public enum ClothesEnum { + + /** + * 是否上线 0-否 1-是 + * 是否默认 0-否 1-是 + * 是否删除 0-否 1-是 + */ + DOWN(0), + UP(1); + + private final int code; + + ClothesEnum(int code) { + this.code = code; + } +} diff --git a/src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesController.java b/src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesController.java new file mode 100644 index 0000000..c00d98d --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesController.java @@ -0,0 +1,139 @@ +package cc.mrbird.febs.mall.controller.clothes; + +import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.mall.dto.ApiActivityDto; +import cc.mrbird.febs.mall.dto.MallGoodsQueryDto; +import cc.mrbird.febs.mall.dto.clothes.*; +import cc.mrbird.febs.mall.service.ApiClothesService; +import cc.mrbird.febs.mall.vo.ApiActivityVo; +import cc.mrbird.febs.mall.vo.MallGoodsListVo; +import cc.mrbird.febs.mall.vo.clothes.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Slf4j +@Validated +@RestController +@RequiredArgsConstructor +@RequestMapping(value = "/api/clothes") +@Api(value = "ApiClothesController", tags = "设计衣服") +public class ApiClothesController { + + private final ApiClothesService clothesService; + + @ApiOperation(value = "设计款式", notes = "设计款式") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiClothesTypeListVo.class) + }) + @GetMapping(value = "/clothesType") + public FebsResponse clothesType() { + return clothesService.clothesType(); + } + + @ApiOperation(value = "设计款式详情", notes = "设计款式详情") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiClothesTypeVo.class) + }) + @PostMapping(value = "/typeInfo") + public FebsResponse typeInfo(@RequestBody @Validated ApiTypeInfoDto dto) { + + return clothesService.typeInfo(dto); + } + + @ApiOperation(value = "布料列表", notes = "布料列表") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiClothesClothVo.class) + }) + @PostMapping(value = "/clothList") + public FebsResponse clothList(@RequestBody @Validated ApiClothesClothPageDto dto) { + + return clothesService.clothList(dto); + } + + @ApiOperation(value = "图案列表", notes = "图案列表") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiClothesPatternVo.class) + }) + @PostMapping(value = "/patternList") + public FebsResponse patternList(@RequestBody @Validated ApiClothesPatternPageDto dto) { + + return clothesService.patternList(dto); + } + + @ApiOperation(value = "尺码列表", notes = "尺码列表") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiClothesSizeVo.class) + }) + @PostMapping(value = "/sizeList") + public FebsResponse sizeList(@RequestBody @Validated ApiClothesSizeDto dto) { + + return clothesService.sizeList(dto); + } + + @ApiOperation(value = "位置列表", notes = "位置列表") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiClothesLocationVo.class) + }) + @PostMapping(value = "/locationList") + public FebsResponse locationList(@RequestBody @Validated ApiClothesLocationPageDto dto) { + + return clothesService.locationList(dto); + } + + @ApiOperation(value = "工艺列表", notes = "工艺列表") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiClothesArtVo.class) + }) + @PostMapping(value = "/artList") + public FebsResponse artList(@RequestBody @Validated ApiClothesArtPageDto dto) { + + return clothesService.artList(dto); + } + + @ApiOperation(value = "身材数据-列表", notes = "身材数据-列表") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiClothesMemberStatureVo.class) + }) + @PostMapping(value = "/statureList") + public FebsResponse statureList(@RequestBody @Validated ApiClothesMemberStatureDto dto) { + + return clothesService.statureList(dto); + } + + @ApiOperation(value = "身材数据-新增", notes = "身材数据-新增") + @PostMapping(value = "/statureAdd") + public FebsResponse statureAdd(@RequestBody @Validated ApiClothesMemberStatureAddDto dto) { + + return clothesService.statureAdd(dto); + } + + @ApiOperation(value = "身材数据-详情", notes = "身材数据-详情") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiClothesMemberStatureVo.class) + }) + @PostMapping(value = "/statureInfo") + public FebsResponse statureInfo(@RequestBody @Validated ApiClothesMemberStatureInfoDto dto) { + + return clothesService.statureInfo(dto); + } + + @ApiOperation(value = "身材数据-详情", notes = "身材数据-详情") + @PostMapping(value = "/statureUpdate") + public FebsResponse statureUpdate(@RequestBody @Validated ApiClothesMemberStatureUpdateDto dto) { + + return clothesService.statureUpdate(dto); + } + + @ApiOperation(value = "身材数据-删除", notes = "身材数据-删除") + @PostMapping(value = "/statureDel") + public FebsResponse statureDel(@RequestBody @Validated ApiClothesMemberStatureInfoDto dto) { + + return clothesService.statureDel(dto); + } +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesArtPageDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesArtPageDto.java new file mode 100644 index 0000000..5815db8 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesArtPageDto.java @@ -0,0 +1,27 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ApiClothesArtPageDto", description = "参数") +public class ApiClothesArtPageDto { + + @NotNull(message = "页码不能为空") + @ApiModelProperty(value = "页码", example = "1") + private Integer pageNow; + + @NotNull(message = "每页数量不能为空") + @ApiModelProperty(value = "每页数量", example = "10") + private Integer pageSize; + + @NotNull(message = "设计款式不能为空") + @ApiModelProperty(value = "设计款式ID") + private Long typeId; + + @ApiModelProperty(value = "查询名称", example = "123") + private String query; +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesClothPageDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesClothPageDto.java new file mode 100644 index 0000000..76a8641 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesClothPageDto.java @@ -0,0 +1,28 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ApiClothesClothPageDto", description = "参数") +public class ApiClothesClothPageDto { + + @NotNull(message = "页码不能为空") + @ApiModelProperty(value = "页码", example = "1") + private Integer pageNow; + + @NotNull(message = "每页数量不能为空") + @ApiModelProperty(value = "每页数量", example = "10") + private Integer pageSize; + + @NotNull(message = "设计款式不能为空") + @ApiModelProperty(value = "设计款式ID") + private Long typeId; + + @ApiModelProperty(value = "查询名称", example = "123") + private String query; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesLocationPageDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesLocationPageDto.java new file mode 100644 index 0000000..d429fce --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesLocationPageDto.java @@ -0,0 +1,27 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ApiClothesLocationPageDto", description = "参数") +public class ApiClothesLocationPageDto { + + @NotNull(message = "页码不能为空") + @ApiModelProperty(value = "页码", example = "1") + private Integer pageNow; + + @NotNull(message = "每页数量不能为空") + @ApiModelProperty(value = "每页数量", example = "10") + private Integer pageSize; + + @NotNull(message = "设计款式不能为空") + @ApiModelProperty(value = "设计款式ID") + private Long typeId; + + @ApiModelProperty(value = "查询名称", example = "123") + private String query; +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureAddDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureAddDto.java new file mode 100644 index 0000000..5f7f73f --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureAddDto.java @@ -0,0 +1,52 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +@Data +@ApiModel(value = "ApiClothesMemberStatureAddDto", description = "参数") +public class ApiClothesMemberStatureAddDto { + + + @NotBlank(message = "昵称不能为空") + @ApiModelProperty(value = "昵称") + private String name; + + @NotNull(message = "身高不能为空") + @Min(value = 0, message = "身高不能小于0") + @Max(value = 240, message = "身高不能大于240CM") + @ApiModelProperty(value = "身高") + private BigDecimal heightLine; + + @NotNull(message = "胸围不能为空") + @Min(value = 0, message = "胸围不能小于0") + @ApiModelProperty(value = "胸围") + private BigDecimal bustLine; + + @NotNull(message = "腰围不能为空") + @Min(value = 0, message = "腰围不能小于0") + @ApiModelProperty(value = "腰围") + private BigDecimal waistLine; + + @NotNull(message = "肩宽不能为空") + @Min(value = 0, message = "肩宽不能小于0") + @ApiModelProperty(value = "肩宽") + private BigDecimal wideLine; + + @NotNull(message = "每页数量不能为空") + @Min(value = 0, message = "臀围不能小于0") + @ApiModelProperty(value = "臀围") + private BigDecimal hipLine; + + @NotNull(message = "是否默认不能为空") + @ApiModelProperty(value = "是否默认 0-否 1-是") + private Integer state; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureDto.java new file mode 100644 index 0000000..deafca3 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureDto.java @@ -0,0 +1,26 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ApiClothesMemberStatureDto", description = "参数") +public class ApiClothesMemberStatureDto { + + @NotNull(message = "页码不能为空") + @ApiModelProperty(value = "页码", example = "1") + private Integer pageNow; + + @NotNull(message = "每页数量不能为空") + @ApiModelProperty(value = "每页数量", example = "10") + private Integer pageSize; + + @ApiModelProperty(value = "查询名称", example = "123") + private String query; + + @ApiModelProperty(hidden = true) + private Long memberId; +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureInfoDto.java new file mode 100644 index 0000000..5276d86 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureInfoDto.java @@ -0,0 +1,17 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ApiClothesMemberStatureInfoDto", description = "参数") +public class ApiClothesMemberStatureInfoDto { + + @NotNull(message = "身材数据不能为空") + @ApiModelProperty(value = "ID") + private Long id; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureUpdateDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureUpdateDto.java new file mode 100644 index 0000000..89f7c8d --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesMemberStatureUpdateDto.java @@ -0,0 +1,54 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +@Data +@ApiModel(value = "ApiClothesMemberStatureUpdateDto", description = "参数") +public class ApiClothesMemberStatureUpdateDto { + + @NotNull(message = "身材不能为空") + @ApiModelProperty(value = "ID") + private Long id; + + @NotBlank(message = "昵称不能为空") + @ApiModelProperty(value = "昵称") + private String name; + + @NotNull(message = "身高不能为空") + @Min(value = 0, message = "身高不能小于0") + @Max(value = 240, message = "身高不能大于240CM") + @ApiModelProperty(value = "身高") + private BigDecimal heightLine; + + @NotNull(message = "胸围不能为空") + @Min(value = 0, message = "胸围不能小于0") + @ApiModelProperty(value = "胸围") + private BigDecimal bustLine; + + @NotNull(message = "腰围不能为空") + @Min(value = 0, message = "腰围不能小于0") + @ApiModelProperty(value = "腰围") + private BigDecimal waistLine; + + @NotNull(message = "肩宽不能为空") + @Min(value = 0, message = "肩宽不能小于0") + @ApiModelProperty(value = "肩宽") + private BigDecimal wideLine; + + @NotNull(message = "每页数量不能为空") + @Min(value = 0, message = "臀围不能小于0") + @ApiModelProperty(value = "臀围") + private BigDecimal hipLine; + + @NotNull(message = "是否默认不能为空") + @ApiModelProperty(value = "是否默认 0-否 1-是") + private Integer state; +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesPatternPageDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesPatternPageDto.java new file mode 100644 index 0000000..4fa2af0 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesPatternPageDto.java @@ -0,0 +1,27 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ApiClothesPatternPageDto", description = "参数") +public class ApiClothesPatternPageDto { + + @NotNull(message = "页码不能为空") + @ApiModelProperty(value = "页码", example = "1") + private Integer pageNow; + + @NotNull(message = "每页数量不能为空") + @ApiModelProperty(value = "每页数量", example = "10") + private Integer pageSize; + + @NotNull(message = "设计款式不能为空") + @ApiModelProperty(value = "设计款式ID") + private Long typeId; + + @ApiModelProperty(value = "查询名称", example = "123") + private String query; +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesSizeDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesSizeDto.java new file mode 100644 index 0000000..e72b5b8 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiClothesSizeDto.java @@ -0,0 +1,18 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ApiClothesSizeDto", description = "参数") +public class ApiClothesSizeDto { + + + @NotNull(message = "设计款式不能为空") + @ApiModelProperty(value = "设计款式ID") + private Long typeId; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiTypeInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiTypeInfoDto.java new file mode 100644 index 0000000..a4f6eee --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiTypeInfoDto.java @@ -0,0 +1,16 @@ +package cc.mrbird.febs.mall.dto.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ApiTypeInfoDto", description = "参数") +public class ApiTypeInfoDto { + + @NotNull(message = "ID不能为空") + @ApiModelProperty(value = "ID") + private Long id; +} diff --git a/src/main/java/cc/mrbird/febs/mall/entity/ClothesMemberStature.java b/src/main/java/cc/mrbird/febs/mall/entity/ClothesMemberStature.java new file mode 100644 index 0000000..88c6694 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/entity/ClothesMemberStature.java @@ -0,0 +1,34 @@ +package cc.mrbird.febs.mall.entity; + +import cc.mrbird.febs.common.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@TableName("clothes_member_stature") +public class ClothesMemberStature extends BaseEntity { + /** + * + `member_id` bigint(20) DEFAULT NULL, + `name` varchar(100) DEFAULT NULL, + `height_line` decimal(20,2) DEFAULT NULL COMMENT '身高', + `bust_line` decimal(20,2) DEFAULT NULL COMMENT '胸围', + `waist_line` decimal(20,2) DEFAULT NULL COMMENT '腰围', + `wide_line` decimal(20,2) DEFAULT NULL COMMENT '肩宽', + `hip_line` decimal(20,2) DEFAULT NULL COMMENT '臀围', + `state` int(11) DEFAULT '0' COMMENT '是否默认 0-否 1-是', + */ + + + private Long memberId; + private String name; + private BigDecimal heightLine; + private BigDecimal bustLine; + private BigDecimal waistLine; + private BigDecimal wideLine; + private BigDecimal hipLine; + private Integer state; + private Integer delFlag; +} diff --git a/src/main/java/cc/mrbird/febs/mall/entity/ClothesType.java b/src/main/java/cc/mrbird/febs/mall/entity/ClothesType.java index 22e7e10..1dad90e 100644 --- a/src/main/java/cc/mrbird/febs/mall/entity/ClothesType.java +++ b/src/main/java/cc/mrbird/febs/mall/entity/ClothesType.java @@ -19,7 +19,7 @@ `art_state` int(11) DEFAULT '0' COMMENT '是否允许选择工艺 0-否 1-是', `pattern_state` int(11) DEFAULT '0' COMMENT '是否允许选择图案 0-否 1-是', `location_state` int(11) DEFAULT '0' COMMENT '是否允许选择图案位置 0-否 1-是', - `size_state` int(11) DEFAULT '0' COMMENT '是否允许选择尺码 0-否 1-是', + `size_state` int(11) DEFAULT '0' COMMENT '是否允许自定义尺码 0-否 1-是', `order_num` int(11) DEFAULT NULL COMMENT '排序', */ diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesMemberStatureMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesMemberStatureMapper.java new file mode 100644 index 0000000..4e1a69e --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesMemberStatureMapper.java @@ -0,0 +1,14 @@ +package cc.mrbird.febs.mall.mapper; + +import cc.mrbird.febs.mall.dto.clothes.ApiClothesMemberStatureDto; +import cc.mrbird.febs.mall.entity.ClothesMemberStature; +import cc.mrbird.febs.mall.vo.clothes.ApiClothesMemberStatureVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; + +public interface ClothesMemberStatureMapper extends BaseMapper<ClothesMemberStature> { + + Page<ApiClothesMemberStatureVo> selectPageInMemberStature(Page<ApiClothesMemberStatureVo> page, @Param("record")ApiClothesMemberStatureDto dto); + +} diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeArtMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeArtMapper.java index 13b4dd3..94b0597 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeArtMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeArtMapper.java @@ -1,7 +1,14 @@ package cc.mrbird.febs.mall.mapper; +import cc.mrbird.febs.mall.dto.clothes.ApiClothesArtPageDto; import cc.mrbird.febs.mall.entity.ClothesTypeArt; +import cc.mrbird.febs.mall.vo.clothes.ApiClothesArtVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; public interface ClothesTypeArtMapper extends BaseMapper<ClothesTypeArt> { + + Page<ApiClothesArtVo> selectPageInArt(Page<ApiClothesArtVo> page, @Param("record")ApiClothesArtPageDto dto); + } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeClothMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeClothMapper.java index cd7e5c9..a7a7d6f 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeClothMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeClothMapper.java @@ -1,7 +1,14 @@ package cc.mrbird.febs.mall.mapper; +import cc.mrbird.febs.mall.dto.clothes.ApiClothesClothPageDto; import cc.mrbird.febs.mall.entity.ClothesTypeCloth; +import cc.mrbird.febs.mall.vo.clothes.ApiClothesClothVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; public interface ClothesTypeClothMapper extends BaseMapper<ClothesTypeCloth> { + + Page<ApiClothesClothVo> selectPageInCloth(Page<ApiClothesClothVo> page, @Param("record")ApiClothesClothPageDto dto); + } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeLocationMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeLocationMapper.java index f661b05..6858db8 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeLocationMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypeLocationMapper.java @@ -1,7 +1,14 @@ package cc.mrbird.febs.mall.mapper; +import cc.mrbird.febs.mall.dto.clothes.ApiClothesLocationPageDto; import cc.mrbird.febs.mall.entity.ClothesTypeLocation; +import cc.mrbird.febs.mall.vo.clothes.ApiClothesLocationVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; public interface ClothesTypeLocationMapper extends BaseMapper<ClothesTypeLocation> { + + Page<ApiClothesLocationVo> selectPageInLocation(Page<ApiClothesLocationVo> page, @Param("record")ApiClothesLocationPageDto dto); + } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypePatternMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypePatternMapper.java index ebc5ced..ec133d2 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypePatternMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesTypePatternMapper.java @@ -1,7 +1,14 @@ package cc.mrbird.febs.mall.mapper; +import cc.mrbird.febs.mall.dto.clothes.ApiClothesPatternPageDto; import cc.mrbird.febs.mall.entity.ClothesTypePattern; +import cc.mrbird.febs.mall.vo.clothes.ApiClothesPatternVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; public interface ClothesTypePatternMapper extends BaseMapper<ClothesTypePattern> { + + Page<ApiClothesPatternVo> selectPageInPattern(Page<ApiClothesPatternVo> page, @Param("record")ApiClothesPatternPageDto dto); + } diff --git a/src/main/java/cc/mrbird/febs/mall/service/ApiClothesService.java b/src/main/java/cc/mrbird/febs/mall/service/ApiClothesService.java new file mode 100644 index 0000000..f369726 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/service/ApiClothesService.java @@ -0,0 +1,33 @@ +package cc.mrbird.febs.mall.service; + +import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.mall.dto.clothes.*; +import cc.mrbird.febs.mall.entity.ClothesType; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface ApiClothesService extends IService<ClothesType> { + + FebsResponse clothesType(); + + FebsResponse typeInfo(ApiTypeInfoDto dto); + + FebsResponse clothList(ApiClothesClothPageDto dto); + + FebsResponse patternList(ApiClothesPatternPageDto dto); + + FebsResponse sizeList(ApiClothesSizeDto dto); + + FebsResponse locationList(ApiClothesLocationPageDto dto); + + FebsResponse artList(ApiClothesArtPageDto dto); + + FebsResponse statureList(ApiClothesMemberStatureDto dto); + + FebsResponse statureAdd(ApiClothesMemberStatureAddDto dto); + + FebsResponse statureInfo(ApiClothesMemberStatureInfoDto dto); + + FebsResponse statureUpdate(ApiClothesMemberStatureUpdateDto dto); + + FebsResponse statureDel(ApiClothesMemberStatureInfoDto dto); +} 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 new file mode 100644 index 0000000..725044a --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesServiceImpl.java @@ -0,0 +1,268 @@ +package cc.mrbird.febs.mall.service.impl; + +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.utils.LoginUserUtil; +import cc.mrbird.febs.mall.dto.clothes.*; +import cc.mrbird.febs.mall.entity.*; +import cc.mrbird.febs.mall.mapper.*; +import cc.mrbird.febs.mall.service.ApiClothesService; +import cc.mrbird.febs.mall.vo.ApiActivityInfoVo; +import cc.mrbird.febs.mall.vo.clothes.*; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ApiClothesServiceImpl extends ServiceImpl<ClothesTypeMapper, ClothesType> implements ApiClothesService { + + private final ClothesTypeMapper clothesTypeMapper; + private final ClothesTypeClothMapper clothesTypeClothMapper; + private final ClothesTypePatternMapper clothesTypePatternMapper; + private final ClothesTypeSizeMapper clothesTypeSizeMapper; + private final ClothesSizeMapper clothesSizeMapper; + private final ClothesTypeLocationMapper clothesTypeLocationMapper; + private final ClothesTypeArtMapper clothesTypeArtMapper; + private final ClothesMemberStatureMapper clothesMemberStatureMapper; + + @Override + public FebsResponse clothesType() { + List<ApiClothesTypeListVo> vos = new ArrayList<>(); + + List<ClothesType> clothesTypes = clothesTypeMapper.selectList( + Wrappers.lambdaQuery(ClothesType.class) + .eq(ClothesType::getState, ClothesEnum.UP.getCode()) + .orderByAsc(ClothesType::getOrderNum) + ); + if (CollUtil.isNotEmpty(clothesTypes)){ + for (ClothesType clothesType : clothesTypes){ + ApiClothesTypeListVo vo = new ApiClothesTypeListVo(); + vo.setId(clothesType.getId()); + vo.setName(clothesType.getName()); + vo.setImage(clothesType.getImage()); + vo.setContent(clothesType.getContent()); + vo.setOrderNum(clothesType.getOrderNum()); + vos.add( vo); + } + } + + return new FebsResponse().success().data(vos); + } + + @Override + public FebsResponse typeInfo(ApiTypeInfoDto dto) { + ApiClothesTypeVo apiClothesTypeVo = new ApiClothesTypeVo(); + + Long id = dto.getId(); + ClothesType clothesType = clothesTypeMapper.selectById(id); + if (ObjectUtil.isNotEmpty(clothesType)){ + apiClothesTypeVo.setId(clothesType.getId()); + apiClothesTypeVo.setName(clothesType.getName()); + apiClothesTypeVo.setImage(clothesType.getImage()); + apiClothesTypeVo.setImageFront(clothesType.getImageFront()); + apiClothesTypeVo.setImageBack(clothesType.getImageBack()); + apiClothesTypeVo.setContent(clothesType.getContent()); + apiClothesTypeVo.setClothState(clothesType.getClothState()); + apiClothesTypeVo.setArtState(clothesType.getArtState()); + apiClothesTypeVo.setPatternState(clothesType.getPatternState()); + apiClothesTypeVo.setLocationState(clothesType.getLocationState()); + apiClothesTypeVo.setSizeState(clothesType.getSizeState()); + } + + return new FebsResponse().success().data(apiClothesTypeVo); + } + + @Override + public FebsResponse clothList(ApiClothesClothPageDto dto) { + // 创建分页对象,传入当前页和每页大小 + Page<ApiClothesClothVo> page = new Page<>(dto.getPageNow(), dto.getPageSize()); + // 调用Mapper方法获取活动分页数据 + Page<ApiClothesClothVo> voPage = clothesTypeClothMapper.selectPageInCloth(page, dto); + + return new FebsResponse().success().data(voPage); + } + + @Override + public FebsResponse patternList(ApiClothesPatternPageDto dto) { + // 创建分页对象,传入当前页和每页大小 + Page<ApiClothesPatternVo> page = new Page<>(dto.getPageNow(), dto.getPageSize()); + // 调用Mapper方法获取活动分页数据 + Page<ApiClothesPatternVo> voPage = clothesTypePatternMapper.selectPageInPattern(page, dto); + + return new FebsResponse().success().data(voPage); + } + + @Override + public FebsResponse sizeList(ApiClothesSizeDto dto) { + List<ApiClothesSizeVo> vos = new ArrayList<>(); + + Long typeId = dto.getTypeId(); + List<ClothesTypeSize> clothesTypeSizes = clothesTypeSizeMapper.selectList( + Wrappers.lambdaQuery(ClothesTypeSize.class) + .eq(ClothesTypeSize::getTypeId, typeId) + ); + if (CollUtil.isNotEmpty(clothesTypeSizes)){ + + Set<Long> collect = clothesTypeSizes.stream().map(ClothesTypeSize::getSizeId).collect(Collectors.toSet()); + List<ClothesSize> clothesSizes = clothesSizeMapper.selectList( + Wrappers.lambdaQuery(ClothesSize.class) + .in(ClothesSize::getId, collect) + + ); + + if (CollUtil.isNotEmpty(clothesSizes)){ + for (ClothesSize clothesSize : clothesSizes){ + ApiClothesSizeVo vo = new ApiClothesSizeVo(); + vo.setId(clothesSize.getId()); + vo.setCode(clothesSize.getCode()); + vo.setName(clothesSize.getName()); + vo.setImage(clothesSize.getImage()); + vo.setContent(clothesSize.getContent()); + vo.setPrice(clothesSize.getPrice()); + vo.setType(clothesSize.getType()); + vos.add(vo); + } + } + } + + return new FebsResponse().success().data(vos); + } + + @Override + public FebsResponse locationList(ApiClothesLocationPageDto dto) { + // 创建分页对象,传入当前页和每页大小 + Page<ApiClothesLocationVo> page = new Page<>(dto.getPageNow(), dto.getPageSize()); + // 调用Mapper方法获取活动分页数据 + Page<ApiClothesLocationVo> voPage = clothesTypeLocationMapper.selectPageInLocation(page, dto); + + return new FebsResponse().success().data(voPage); + } + + @Override + public FebsResponse artList(ApiClothesArtPageDto dto) { + // 创建分页对象,传入当前页和每页大小 + Page<ApiClothesArtVo> page = new Page<>(dto.getPageNow(), dto.getPageSize()); + // 调用Mapper方法获取活动分页数据 + Page<ApiClothesArtVo> voPage = clothesTypeArtMapper.selectPageInArt(page, dto); + + return new FebsResponse().success().data(voPage); + } + + @Override + public FebsResponse statureList(ApiClothesMemberStatureDto dto) { + + Long memberId = LoginUserUtil.getLoginUser().getId(); + dto.setMemberId(memberId); + // 创建分页对象,传入当前页和每页大小 + Page<ApiClothesMemberStatureVo> page = new Page<>(dto.getPageNow(), dto.getPageSize()); + // 调用Mapper方法获取活动分页数据 + Page<ApiClothesMemberStatureVo> voPage = clothesMemberStatureMapper.selectPageInMemberStature(page, dto); + + return new FebsResponse().success().data(voPage); + } + + @Override + public FebsResponse statureAdd(ApiClothesMemberStatureAddDto dto) { + + Long memberId = LoginUserUtil.getLoginUser().getId(); + ClothesMemberStature clothesMemberStature = new ClothesMemberStature(); + clothesMemberStature.setMemberId(memberId); + clothesMemberStature.setName(dto.getName()); + clothesMemberStature.setHeightLine(dto.getHeightLine()); + clothesMemberStature.setBustLine(dto.getBustLine()); + clothesMemberStature.setWaistLine(dto.getWaistLine()); + clothesMemberStature.setWideLine(dto.getWideLine()); + clothesMemberStature.setHipLine(dto.getHipLine()); + clothesMemberStature.setState(dto.getState()); + clothesMemberStatureMapper.insert(clothesMemberStature); + + if(ClothesEnum.UP.getCode() == dto.getState()){ + clothesMemberStatureMapper.update(null, + Wrappers.lambdaUpdate(ClothesMemberStature.class) + .set(ClothesMemberStature::getState, ClothesEnum.DOWN.getCode()) + .eq(ClothesMemberStature::getMemberId, memberId) + .ne(ClothesMemberStature::getId, clothesMemberStature.getId()) + .eq(ClothesMemberStature::getDelFlag, ClothesEnum.DOWN.getCode()) + ); + } + + return new FebsResponse().success().message("操作成功"); + } + + @Override + public FebsResponse statureInfo(ApiClothesMemberStatureInfoDto dto) { + Long memberId = LoginUserUtil.getLoginUser().getId(); + + ApiClothesMemberStatureVo apiClothesMemberStatureVo = new ApiClothesMemberStatureVo(); + ClothesMemberStature clothesMemberStature = clothesMemberStatureMapper.selectById(dto.getId()); + if (ObjectUtil.isNotEmpty(clothesMemberStature)){ + apiClothesMemberStatureVo.setId(clothesMemberStature.getId()); + apiClothesMemberStatureVo.setName(clothesMemberStature.getName()); + apiClothesMemberStatureVo.setHeightLine(clothesMemberStature.getHeightLine()); + apiClothesMemberStatureVo.setBustLine(clothesMemberStature.getBustLine()); + apiClothesMemberStatureVo.setWaistLine(clothesMemberStature.getWaistLine()); + apiClothesMemberStatureVo.setWideLine(clothesMemberStature.getWideLine()); + apiClothesMemberStatureVo.setHipLine(clothesMemberStature.getHipLine()); + apiClothesMemberStatureVo.setState(clothesMemberStature.getState()); + } + + return new FebsResponse().success().data(apiClothesMemberStatureVo); + } + + @Override + public FebsResponse statureUpdate(ApiClothesMemberStatureUpdateDto dto) { + + Long memberId = LoginUserUtil.getLoginUser().getId(); + ClothesMemberStature clothesMemberStature = clothesMemberStatureMapper.selectById(dto.getId()); + if (ObjectUtil.isNotEmpty(clothesMemberStature)){ + clothesMemberStature.setName(dto.getName()); + clothesMemberStature.setHeightLine(dto.getHeightLine()); + clothesMemberStature.setBustLine(dto.getBustLine()); + clothesMemberStature.setWaistLine(dto.getWaistLine()); + clothesMemberStature.setWideLine(dto.getWideLine()); + clothesMemberStature.setHipLine(dto.getHipLine()); + clothesMemberStature.setState(dto.getState()); + clothesMemberStatureMapper.updateById(clothesMemberStature); + + if(ClothesEnum.UP.getCode() == dto.getState()){ + clothesMemberStatureMapper.update(null, + Wrappers.lambdaUpdate(ClothesMemberStature.class) + .set(ClothesMemberStature::getState, ClothesEnum.DOWN.getCode()) + .eq(ClothesMemberStature::getMemberId, memberId) + .ne(ClothesMemberStature::getId, clothesMemberStature.getId()) + .eq(ClothesMemberStature::getDelFlag, ClothesEnum.DOWN.getCode()) + ); + } + } + + return new FebsResponse().success().message("操作成功"); + } + + @Override + public FebsResponse statureDel(ApiClothesMemberStatureInfoDto dto) { + + Long memberId = LoginUserUtil.getLoginUser().getId(); + clothesMemberStatureMapper.delete( + Wrappers.lambdaUpdate(ClothesMemberStature.class) + .eq(ClothesMemberStature::getId, dto.getId()) + .eq(ClothesMemberStature::getMemberId, memberId) + .eq(ClothesMemberStature::getDelFlag, ClothesEnum.DOWN.getCode()) + ); + + return new FebsResponse().success().message("操作成功"); + } +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesArtVo.java b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesArtVo.java new file mode 100644 index 0000000..d3957de --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesArtVo.java @@ -0,0 +1,31 @@ +package cc.mrbird.febs.mall.vo.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "ApiClothesArtVo", description = "参数") +public class ApiClothesArtVo { + + @ApiModelProperty(value = "ID") + private Long id; + + @ApiModelProperty(value = "编码") + private String code; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "小图标") + private String image; + + @ApiModelProperty(value = "简介") + private String content; + + @ApiModelProperty(value = "价格") + private BigDecimal price; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesClothVo.java b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesClothVo.java new file mode 100644 index 0000000..a88ac51 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesClothVo.java @@ -0,0 +1,32 @@ +package cc.mrbird.febs.mall.vo.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "ApiClothesClothVo", description = "参数") +public class ApiClothesClothVo { + + + @ApiModelProperty(value = "ID") + private Long id; + + @ApiModelProperty(value = "编码") + private String code; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "小图标") + private String image; + + @ApiModelProperty(value = "简介") + private String content; + + @ApiModelProperty(value = "价格") + private BigDecimal price; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesLocationVo.java b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesLocationVo.java new file mode 100644 index 0000000..e614162 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesLocationVo.java @@ -0,0 +1,31 @@ +package cc.mrbird.febs.mall.vo.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "ApiClothesLocationVo", description = "参数") +public class ApiClothesLocationVo { + + @ApiModelProperty(value = "ID") + private Long id; + + @ApiModelProperty(value = "编码") + private String code; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "小图标") + private String image; + + @ApiModelProperty(value = "简介") + private String content; + + @ApiModelProperty(value = "价格") + private BigDecimal price; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesMemberStatureVo.java b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesMemberStatureVo.java new file mode 100644 index 0000000..31a3f7d --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesMemberStatureVo.java @@ -0,0 +1,29 @@ +package cc.mrbird.febs.mall.vo.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "ApiClothesMemberStatureVo", description = "参数") +public class ApiClothesMemberStatureVo { + + @ApiModelProperty(value = "ID") + private Long id; + @ApiModelProperty(value = "昵称") + private String name; + @ApiModelProperty(value = "身高") + private BigDecimal heightLine; + @ApiModelProperty(value = "胸围") + private BigDecimal bustLine; + @ApiModelProperty(value = "腰围") + private BigDecimal waistLine; + @ApiModelProperty(value = "肩宽") + private BigDecimal wideLine; + @ApiModelProperty(value = "臀围") + private BigDecimal hipLine; + @ApiModelProperty(value = "是否默认 0-否 1-是") + private Integer state; +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesPatternVo.java b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesPatternVo.java new file mode 100644 index 0000000..5dc948b --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesPatternVo.java @@ -0,0 +1,35 @@ +package cc.mrbird.febs.mall.vo.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "ApiClothesPatternVo", description = "参数") +public class ApiClothesPatternVo { + + + @ApiModelProperty(value = "ID") + private Long id; + + @ApiModelProperty(value = "编码") + private String code; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "小图标") + private String image; + + @ApiModelProperty(value = "简介") + private String content; + + @ApiModelProperty(value = "价格") + private BigDecimal price; + + @ApiModelProperty(value = "类型 1-仅文字 2-仅图案 3-文字加图案") + private Integer type; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesSizeVo.java b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesSizeVo.java new file mode 100644 index 0000000..9abbf92 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesSizeVo.java @@ -0,0 +1,33 @@ +package cc.mrbird.febs.mall.vo.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "ApiClothesSizeVo", description = "参数") +public class ApiClothesSizeVo { + + @ApiModelProperty(value = "ID") + private Long id; + + @ApiModelProperty(value = "编码") + private String code; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "小图标") + private String image; + + @ApiModelProperty(value = "简介") + private String content; + + @ApiModelProperty(value = "价格") + private BigDecimal price; + + @ApiModelProperty(value = "尺码类型 1-衣服 2-裤子") + private Integer type; +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesTypeListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesTypeListVo.java new file mode 100644 index 0000000..07423ac --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesTypeListVo.java @@ -0,0 +1,21 @@ +package cc.mrbird.febs.mall.vo.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "ApiClothesTypeListVo", description = "参数") +public class ApiClothesTypeListVo { + + @ApiModelProperty(value = "ID") + private Long id; + @ApiModelProperty(value = "名称") + private String name; + @ApiModelProperty(value = "小图标") + private String image; + @ApiModelProperty(value = "简介") + private String content; + @ApiModelProperty(value = "排序") + private Integer orderNum; +} diff --git a/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesTypeVo.java b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesTypeVo.java new file mode 100644 index 0000000..350de6c --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiClothesTypeVo.java @@ -0,0 +1,33 @@ +package cc.mrbird.febs.mall.vo.clothes; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "ApiClothesTypeVo", description = "参数") +public class ApiClothesTypeVo { + + @ApiModelProperty(value = "ID") + private Long id; + @ApiModelProperty(value = "名称") + private String name; + @ApiModelProperty(value = "小图标") + private String image; + @ApiModelProperty(value = "正面") + private String imageFront; + @ApiModelProperty(value = "反面") + private String imageBack; + @ApiModelProperty(value = "简介") + private String content; + @ApiModelProperty(value = "是否允许选择布料 0-否 1-是") + private Integer clothState; + @ApiModelProperty(value = "是否允许选择工艺 0-否 1-是") + private Integer artState; + @ApiModelProperty(value = "是否允许选择图案 0-否 1-是") + private Integer patternState; + @ApiModelProperty(value = "是否允许选择图案位置 0-否 1-是") + private Integer locationState; + @ApiModelProperty(value = "是否允许自定义尺码 0-否 1-是") + private Integer sizeState; +} diff --git a/src/main/resources/mapper/modules/ClothesMemberStatureMapper.xml b/src/main/resources/mapper/modules/ClothesMemberStatureMapper.xml new file mode 100644 index 0000000..38b76a1 --- /dev/null +++ b/src/main/resources/mapper/modules/ClothesMemberStatureMapper.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cc.mrbird.febs.mall.mapper.ClothesMemberStatureMapper"> + + <select id="selectPageInMemberStature" resultType="cc.mrbird.febs.mall.vo.clothes.ApiClothesMemberStatureVo"> + select + a.* + from clothes_member_stature a + <where> + and a.member_id = #{record.memberId} + and a.del_flag = 0 + <if test="record != null"> + <if test="record.query != null and record.query != ''"> + and ( + a.name like CONCAT('%', CONCAT(#{record.query}, '%')) + ) + </if> + </if> + </where> + order by a.CREATED_TIME desc + </select> + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/modules/ClothesTypeArtMapper.xml b/src/main/resources/mapper/modules/ClothesTypeArtMapper.xml index 5db7fe3..a7ca91b 100644 --- a/src/main/resources/mapper/modules/ClothesTypeArtMapper.xml +++ b/src/main/resources/mapper/modules/ClothesTypeArtMapper.xml @@ -2,4 +2,28 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cc.mrbird.febs.mall.mapper.ClothesTypeArtMapper"> + <select id="selectPageInArt" resultType="cc.mrbird.febs.mall.vo.clothes.ApiClothesArtVo"> + select + b.id as id, + b.code as code, + b.name as name, + b.image as image, + b.content as content, + b.price as price + from clothes_type_art a + left join clothes_art b on a.art_id = b.id + <where> + and a.type_id = #{record.typeId} + <if test="record != null"> + <if test="record.query != null and record.query != ''"> + and ( + b.name like CONCAT('%', CONCAT(#{record.query}, '%')) or + b.code like CONCAT('%', CONCAT(#{record.query}, '%')) + ) + </if> + </if> + </where> + order by b.order_num asc + </select> + </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/modules/ClothesTypeClothMapper.xml b/src/main/resources/mapper/modules/ClothesTypeClothMapper.xml index 3be2cb7..88da297 100644 --- a/src/main/resources/mapper/modules/ClothesTypeClothMapper.xml +++ b/src/main/resources/mapper/modules/ClothesTypeClothMapper.xml @@ -2,4 +2,28 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cc.mrbird.febs.mall.mapper.ClothesTypeClothMapper"> + <select id="selectPageInCloth" resultType="cc.mrbird.febs.mall.vo.clothes.ApiClothesClothVo"> + select + b.id as id, + b.code as code, + b.name as name, + b.image as image, + b.content as content, + b.price as price + from clothes_type_cloth a + left join clothes_cloth b on a.cloth_id = b.id + <where> + and a.type_id = #{record.typeId} + <if test="record != null"> + <if test="record.query != null and record.query != ''"> + and ( + b.name like CONCAT('%', CONCAT(#{record.query}, '%')) or + b.code like CONCAT('%', CONCAT(#{record.query}, '%')) + ) + </if> + </if> + </where> + order by b.order_num asc + </select> + </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/modules/ClothesTypeLocationMapper.xml b/src/main/resources/mapper/modules/ClothesTypeLocationMapper.xml index 2aa61c7..4316b5e 100644 --- a/src/main/resources/mapper/modules/ClothesTypeLocationMapper.xml +++ b/src/main/resources/mapper/modules/ClothesTypeLocationMapper.xml @@ -2,4 +2,28 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cc.mrbird.febs.mall.mapper.ClothesTypeLocationMapper"> + <select id="selectPageInLocation" resultType="cc.mrbird.febs.mall.vo.clothes.ApiClothesLocationVo"> + select + b.id as id, + b.code as code, + b.name as name, + b.image as image, + b.content as content, + b.price as price + from clothes_type_location a + left join clothes_location b on a.location_id = b.id + <where> + and a.type_id = #{record.typeId} + <if test="record != null"> + <if test="record.query != null and record.query != ''"> + and ( + b.name like CONCAT('%', CONCAT(#{record.query}, '%')) or + b.code like CONCAT('%', CONCAT(#{record.query}, '%')) + ) + </if> + </if> + </where> + order by b.order_num asc + </select> + </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/modules/ClothesTypePatternMapper.xml b/src/main/resources/mapper/modules/ClothesTypePatternMapper.xml index 5fadbef..b580905 100644 --- a/src/main/resources/mapper/modules/ClothesTypePatternMapper.xml +++ b/src/main/resources/mapper/modules/ClothesTypePatternMapper.xml @@ -2,4 +2,30 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cc.mrbird.febs.mall.mapper.ClothesTypePatternMapper"> + + <select id="selectPageInPattern" resultType="cc.mrbird.febs.mall.vo.clothes.ApiClothesPatternVo"> + select + b.id as id, + b.code as code, + b.name as name, + b.image as image, + b.content as content, + b.type as type, + b.price as price + from clothes_type_pattern a + left join clothes_pattern b on a.pattern_id = b.id + <where> + and a.type_id = #{record.typeId} + <if test="record != null"> + <if test="record.query != null and record.query != ''"> + and ( + b.name like CONCAT('%', CONCAT(#{record.query}, '%')) or + b.code like CONCAT('%', CONCAT(#{record.query}, '%')) + ) + </if> + </if> + </where> + order by b.order_num asc + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.1