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