From d8c97392354a6b6d14efbdd4a73ee0148609bef8 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 22 Sep 2021 10:04:06 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-mall
---
src/main/java/cc/mrbird/febs/mall/entity/MallAddressInfo.java | 48 ++
src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsStyleConversion.java | 21
src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java | 33 +
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java | 7
src/main/java/cc/mrbird/febs/mall/vo/AddressInfoVo.java | 32 +
src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java | 4
src/main/resources/mapper/modules/MallMoneyFlowMapper.xml | 5
src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java | 7
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java | 11
src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java | 37 +
src/main/java/cc/mrbird/febs/mall/conversion/MallShoppingCartConversion.java | 21
src/main/java/cc/mrbird/febs/mall/vo/ShoppingCartGoodsVo.java | 27 +
src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java | 4
src/main/java/cc/mrbird/febs/mall/service/IApiMallShoppingCartService.java | 20
src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 5
src/main/java/cc/mrbird/febs/mall/dto/AddCartDto.java | 24 +
src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java | 52 ++
src/main/java/cc/mrbird/febs/mall/service/IApiMallAddressInfoService.java | 19
src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java | 17
src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java | 49 ++
src/main/java/cc/mrbird/febs/mall/entity/MallGoodsStyle.java | 6
src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java | 9
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 19
src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsImagesMapper.java | 5
src/main/java/cc/mrbird/febs/mall/controller/ApiMallAddressInfoController.java | 81 +++
sql/xc_mall.sql | 146 ++++++
pom.xml | 29 +
src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsSkuConversion.java | 21
src/main/java/cc/mrbird/febs/mall/mapper/MallAddressInfoMapper.java | 14
src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java | 20
src/main/resources/mapper/modules/MallShoppingCartMapper.xml | 23 +
src/main/java/cc/mrbird/febs/mall/mapper/MallShoppingCartMapper.java | 18
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java | 88 +++
src/main/resources/mapper/modules/MallGoodsSkuMapper.xml | 9
src/main/java/cc/mrbird/febs/mall/vo/GoodsDetailsStyleVo.java | 25 +
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java | 64 ++
src/main/resources/mapper/modules/MallAddressInfoMapper.xml | 19
src/main/java/cc/mrbird/febs/mall/vo/GoodsDetailsSkuVo.java | 37 +
src/main/resources/mapper/modules/MallOrderItemMapper.xml | 5
src/main/resources/mapper/modules/MallGoodsImagesMapper.xml | 8
src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java | 24 +
src/main/java/cc/mrbird/febs/mall/entity/MallShoppingCart.java | 31 +
src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsConversion.java | 21
src/main/java/cc/mrbird/febs/mall/dto/AddressInfoDto.java | 44 +
src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java | 46 ++
src/main/resources/mapper/modules/MallGoodsMapper.xml | 51 ++
src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java | 7
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java | 19
src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java | 2
src/main/java/cc/mrbird/febs/mall/conversion/MallAddressInfoConversion.java | 25 +
50 files changed, 1,351 insertions(+), 8 deletions(-)
diff --git a/pom.xml b/pom.xml
index b71dc83..455780a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,6 +23,7 @@
<tomcat.version>9.0.31</tomcat.version>
<hutool.version>5.3.1</hutool.version>
<aliyun-oss.version>3.8.0</aliyun-oss.version>
+ <mapstruct.version>1.3.1.Final</mapstruct.version>
</properties>
<dependencies>
@@ -260,6 +261,12 @@
<version>4.3.5</version>
</dependency>
<!-- submail邮件 end -->
+
+ <dependency>
+ <groupId>org.mapstruct</groupId>
+ <artifactId>mapstruct</artifactId>
+ <version>${mapstruct.version}</version>
+ </dependency>
</dependencies>
<build>
@@ -268,6 +275,28 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.5.1</version>
+ <configuration>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
+ <annotationProcessorPaths>
+ <path>
+ <groupId>org.mapstruct</groupId>
+ <artifactId>mapstruct-processor</artifactId>
+ <version>${mapstruct.version}</version>
+ </path>
+ <path>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <version>${lombok.version}</version>
+ </path>
+ </annotationProcessorPaths>
+ </configuration>
+ </plugin>
</plugins>
</build>
</project>
diff --git a/sql/xc_mall.sql b/sql/xc_mall.sql
new file mode 100644
index 0000000..1b723cd
--- /dev/null
+++ b/sql/xc_mall.sql
@@ -0,0 +1,146 @@
+DROP TABLE IF EXISTS mall_member;
+CREATE TABLE mall_member(
+ REVISION INT COMMENT '乐观锁' ,
+ CREATED_BY VARCHAR(32) COMMENT '创建人' ,
+ CREATED_TIME DATETIME COMMENT '创建时间' ,
+ UPDATED_BY VARCHAR(32) COMMENT '更新人' ,
+ UPDATED_TIME DATETIME COMMENT '更新时间' ,
+ ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,
+ name VARCHAR(32) COMMENT '名称' ,
+ phone VARCHAR(32) COMMENT '手机号' ,
+ email VARCHAR(90) COMMENT '邮箱' ,
+ password VARCHAR(500) COMMENT '密码' ,
+ sex VARCHAR(2) COMMENT '性别' ,
+ invite_id VARCHAR(8) COMMENT '邀请码' ,
+ referrer_id VARCHAR(8) COMMENT '推荐人邀请码' ,
+ referrer_ids TEXT COMMENT '推荐人线路' ,
+ level VARCHAR(255) COMMENT '代理层级' ,
+ account_status INT COMMENT '账户状态;1-正常 2-禁用' ,
+ account_type INT COMMENT '账户类型;1-正常用户' ,
+ PRIMARY KEY (ID)
+) COMMENT = '商城用户表';
+
+
+DROP TABLE IF EXISTS mall_goods_category;
+CREATE TABLE mall_goods_category(
+ REVISION INT COMMENT '乐观锁' ,
+ CREATED_BY VARCHAR(32) COMMENT '创建人' ,
+ CREATED_TIME DATETIME COMMENT '创建时间' ,
+ UPDATED_BY VARCHAR(32) COMMENT '更新人' ,
+ UPDATED_TIME DATETIME COMMENT '更新时间' ,
+ ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,
+ name VARCHAR(32) COMMENT '名称' ,
+ parent_id BIGINT COMMENT '父级ID' ,
+ parent_ids VARCHAR(900) COMMENT '父级ids' ,
+ PRIMARY KEY (ID)
+) COMMENT = '商品分类';
+
+
+DROP TABLE IF EXISTS mall_goods;
+CREATE TABLE mall_goods(
+ REVISION INT COMMENT '乐观锁' ,
+ CREATED_BY VARCHAR(32) COMMENT '创建人' ,
+ CREATED_TIME DATETIME COMMENT '创建时间' ,
+ UPDATED_BY VARCHAR(32) COMMENT '更新人' ,
+ UPDATED_TIME DATETIME COMMENT '更新时间' ,
+ ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,
+ goods_no VARCHAR(32) COMMENT '商品编号' ,
+ goods_name VARCHAR(255) COMMENT '商品名称' ,
+ goods_introdution TEXT(255) COMMENT '商品介绍' ,
+ unit VARCHAR(10) COMMENT '单位' ,
+ thumb VARCHAR(500) COMMENT '缩略图' ,
+ goods_details TEXT COMMENT '商品详情' ,
+ is_sale INT COMMENT '是否上架;1-上架 2-下架' ,
+ original_price VARCHAR(90) COMMENT '原价' ,
+ present_price VARCHAR(90) COMMENT '现价' ,
+ category_id BIGINT COMMENT '分类ID' ,
+ PRIMARY KEY (ID)
+) COMMENT = '商品信息表';
+
+
+DROP TABLE IF EXISTS mall_goods_images;
+CREATE TABLE mall_goods_images(
+ REVISION INT COMMENT '乐观锁' ,
+ CREATED_BY VARCHAR(32) COMMENT '创建人' ,
+ CREATED_TIME DATETIME COMMENT '创建时间' ,
+ UPDATED_BY VARCHAR(32) COMMENT '更新人' ,
+ UPDATED_TIME DATETIME COMMENT '更新时间' ,
+ ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,
+ image_url VARCHAR(900) COMMENT '主图链接' ,
+ seq INT COMMENT '排序' ,
+ goods_id BIGINT COMMENT '' ,
+ PRIMARY KEY (ID)
+) COMMENT = '商品主图';
+
+
+DROP TABLE IF EXISTS mall_goods_style;
+CREATE TABLE mall_goods_style(
+ REVISION INT COMMENT '乐观锁' ,
+ CREATED_BY VARCHAR(32) COMMENT '创建人' ,
+ CREATED_TIME DATETIME COMMENT '创建时间' ,
+ UPDATED_BY VARCHAR(32) COMMENT '更新人' ,
+ UPDATED_TIME DATETIME COMMENT '更新时间' ,
+ ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,
+ goods_id BIGINT COMMENT '商品ID' ,
+ name VARCHAR(90) COMMENT '样式名称' ,
+ PRIMARY KEY (ID)
+) COMMENT = '商品样式';
+
+
+DROP TABLE IF EXISTS mall_goods_sku;
+CREATE TABLE mall_goods_sku(
+ REVISION INT COMMENT '乐观锁' ,
+ CREATED_BY VARCHAR(32) COMMENT '创建人' ,
+ CREATED_TIME DATETIME COMMENT '创建时间' ,
+ UPDATED_BY VARCHAR(32) COMMENT '更新人' ,
+ UPDATED_TIME DATETIME COMMENT '更新时间' ,
+ ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,
+ sku_name VARCHAR(90) COMMENT 'sku名称' ,
+ sku_image VARCHAR(900) COMMENT 'sku图片' ,
+ stock INT COMMENT '库存' ,
+ sku_volume INT COMMENT '销售数量' ,
+ original_price DECIMAL(20,2) COMMENT '原价' ,
+ present_price DECIMAL(20,2) COMMENT '现价' ,
+ style_id BIGINT COMMENT '样式ID' ,
+ goods_id BIGINT COMMENT '商品ID' ,
+ PRIMARY KEY (ID)
+) COMMENT = '商品sku';
+
+alter table mall_member add avatar varchar(500) null comment '头像';
+ALTER TABLE `mall_goods_category` ADD COLUMN `is_recommend` int(11) NULL COMMENT '是否推荐 1:是 2:否' AFTER `parent_ids`;
+alter table mall_goods add is_hot int default 2 null comment '是否热卖 1-是 2-否';
+
+DROP TABLE IF EXISTS mall_shopping_cart;
+CREATE TABLE mall_shopping_cart(
+ REVISION INT COMMENT '乐观锁' ,
+ CREATED_BY VARCHAR(32) COMMENT '创建人' ,
+ CREATED_TIME DATETIME COMMENT '创建时间' ,
+ UPDATED_BY VARCHAR(32) COMMENT '更新人' ,
+ UPDATED_TIME DATETIME COMMENT '更新时间' ,
+ ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,
+ member_id BIGINT COMMENT '用户ID' ,
+ goods_id BIGINT COMMENT '商品ID' ,
+ style_id BIGINT COMMENT '样式ID' ,
+ sku_id BIGINT COMMENT 'skuId' ,
+ cnt VARCHAR(255) COMMENT '数量' ,
+ PRIMARY KEY (ID)
+) COMMENT = '购物车';
+
+DROP TABLE IF EXISTS mall_address_info;
+CREATE TABLE mall_address_info(
+ REVISION INT COMMENT '乐观锁' ,
+ CREATED_BY VARCHAR(32) COMMENT '创建人' ,
+ CREATED_TIME DATETIME COMMENT '创建时间' ,
+ UPDATED_BY VARCHAR(32) COMMENT '更新人' ,
+ UPDATED_TIME DATETIME COMMENT '更新时间' ,
+ ID BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,
+ member_id BIGINT COMMENT '用户ID' ,
+ name VARCHAR(255) COMMENT '姓名' ,
+ phone VARCHAR(255) COMMENT '联系方式' ,
+ area TEXT COMMENT '地区' ,
+ address TEXT COMMENT '地址' ,
+ longitude VARCHAR(255) COMMENT '经度' ,
+ latitude VARCHAR(255) COMMENT '纬度' ,
+ is_default INT COMMENT '是否默认;1-是2-否' ,
+ PRIMARY KEY (ID)
+) COMMENT = '用户地址';
diff --git a/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java b/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
index 81c706b..06878ae 100644
--- a/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
+++ b/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
@@ -87,7 +87,7 @@
}
private Boolean verifyTokenExpired(Long time) {
- boolean isDebug = false;
+ boolean isDebug = true;
if (!isDebug) {
long currentTime = System.currentTimeMillis();
return currentTime - time <= 30000;
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallAddressInfoController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallAddressInfoController.java
new file mode 100644
index 0000000..35b5dc0
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallAddressInfoController.java
@@ -0,0 +1,81 @@
+package cc.mrbird.febs.mall.controller;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.conversion.MallAddressInfoConversion;
+import cc.mrbird.febs.mall.dto.AddressInfoDto;
+import cc.mrbird.febs.mall.entity.MallAddressInfo;
+import cc.mrbird.febs.mall.service.IApiMallAddressInfoService;
+import cc.mrbird.febs.mall.vo.AddressInfoVo;
+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.*;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Slf4j
+@Validated
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(value = "/api/address")
+@Api(value = "ApiMallAddressInfoController", tags = "用户地址管理接口类")
+public class ApiMallAddressInfoController {
+
+ private final IApiMallAddressInfoService mallAddressInfoService;
+
+ @ApiOperation(value = "获取地址列表", notes = "获取地址列表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = AddressInfoVo.class)
+ })
+ @GetMapping(value = "/findAddressList")
+ public FebsResponse findAddressList() {
+ return new FebsResponse().success().data(mallAddressInfoService.findAddressInfoList());
+ }
+
+ @ApiOperation(value = "获取地址信息", notes = "获取地址信息")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = AddressInfoVo.class)
+ })
+ @GetMapping(value = "/findAddressList/{id}")
+ public FebsResponse findAddressInfoById(@PathVariable("id") Long id) {
+ MallAddressInfo addressInfo = mallAddressInfoService.getById(id);
+ return new FebsResponse().success().data(MallAddressInfoConversion.INSTANCE.entityToVo(addressInfo));
+ }
+
+ @ApiOperation(value = "添加地址", notes = "添加地址")
+ @PostMapping(value = "/addAddress")
+ public FebsResponse addAddress(@RequestBody AddressInfoDto addressInfoDto) {
+ mallAddressInfoService.addAddress(addressInfoDto);
+ return new FebsResponse().success().message("添加成功");
+ }
+
+ @ApiOperation(value = "修改地址", notes = "修改地址")
+ @PostMapping(value = "/modifyAddress")
+ public FebsResponse modifyAddress(@RequestBody AddressInfoDto addressInfoDto) {
+ mallAddressInfoService.modifyAddress(addressInfoDto);
+ return new FebsResponse().success().message("修改成功");
+ }
+
+ @ApiOperation(value = "删除地址", notes = "删除地址")
+ @PostMapping(value = "/delAddress/{id}")
+ public FebsResponse delAddress(@PathVariable("id") Long id) {
+ mallAddressInfoService.removeById(id);
+ return new FebsResponse().success().message("删除成功");
+ }
+
+ @ApiOperation(value = "设置地址为默认地址", notes = "设置地址为默认地址")
+ @PostMapping(value = "/setAddressDefault/{id}")
+ public FebsResponse setAddressDefault(@PathVariable("id") Long id) {
+ mallAddressInfoService.setDefaultAddress(id);
+ return new FebsResponse().success().message("设置成功");
+ }
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java
index 2f4e723..860e466 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java
@@ -3,6 +3,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.MallGoodsQueryDto;
import cc.mrbird.febs.mall.service.IApiMallGoodsService;
+import cc.mrbird.febs.mall.vo.MallGoodsDetailsVo;
import cc.mrbird.febs.mall.vo.MallGoodsListVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -11,10 +12,7 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
/**
* @author wzy
@@ -29,7 +27,7 @@
public class ApiMallGoodsController {
private final IApiMallGoodsService mallGoodsService;
- @ApiOperation(value = "findMallGoodsList", notes = "获取商城商品列表")
+ @ApiOperation(value = "获取商城商品列表", notes = "获取商城商品列表")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = MallGoodsListVo.class)
})
@@ -38,4 +36,13 @@
return new FebsResponse().success().data(mallGoodsService.findMallGoodsListInPage(queryDto));
}
+ @ApiOperation(value = "获取商品详情", notes = "获取商品详情")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = MallGoodsDetailsVo.class)
+ })
+ @GetMapping(value = "/findMallGoodsDetailsById/{id}")
+ public FebsResponse findMallGoodsDetailsById(@PathVariable("id") Long id) {
+ return new FebsResponse().success().data(mallGoodsService.findMallGoodsDetailsById(id));
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
new file mode 100644
index 0000000..72f57c1
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
@@ -0,0 +1,37 @@
+package cc.mrbird.febs.mall.controller;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.dto.AddOrderDto;
+import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Slf4j
+@Validated
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(value = "/api/order")
+@Api(value = "ApiMallOrderController", tags = "订单接口类")
+public class ApiMallOrderController {
+
+ private final IApiMallOrderInfoService mallOrderInfoService;
+
+ @ApiOperation(value = "addOrder", notes = "提交订单")
+ @PostMapping(value = "/addOrder")
+ public FebsResponse addOrder(@RequestBody List<AddOrderDto> list) {
+ return null;
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java
new file mode 100644
index 0000000..a2d4ae7
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallShoppingCartController.java
@@ -0,0 +1,52 @@
+package cc.mrbird.febs.mall.controller;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.dto.AddCartDto;
+import cc.mrbird.febs.mall.service.IApiMallShoppingCartService;
+import cc.mrbird.febs.mall.vo.ShoppingCartGoodsVo;
+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.*;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Slf4j
+@Validated
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(value = "/api/cart")
+@Api(value = "ApiMallShoppingCartController", tags = "商城购物车接口请求类")
+public class ApiMallShoppingCartController {
+
+ private final IApiMallShoppingCartService mallShoppingCartService;
+
+ @ApiOperation(value = "获取购物车商品列表", notes = "获取购物车商品列表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ShoppingCartGoodsVo.class)
+ })
+ @PostMapping(value = "/findCartGoodsList")
+ public FebsResponse findCartGoodsList() {
+ return new FebsResponse().success().data(mallShoppingCartService.findCartGoodsList());
+ }
+
+ @ApiOperation(value = "添加商品到购物车", notes = "添加商品到购物车")
+ @PostMapping(value = "/addGoodsToCart")
+ public FebsResponse addGoodsToCart(@RequestBody AddCartDto addCartDto) {
+ mallShoppingCartService.addGoodsToCart(addCartDto);
+ return new FebsResponse().success().data("添加成功");
+ }
+
+ @ApiOperation(value = "从购物车中删除商品", notes = "从购物车中删除商品")
+ @PostMapping(value = "/delGoods/{id}")
+ public FebsResponse delGoods(@PathVariable("id") Long id) {
+ mallShoppingCartService.removeById(id);
+ return new FebsResponse().success().data("删除成功");
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/MallAddressInfoConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/MallAddressInfoConversion.java
new file mode 100644
index 0000000..a9b7c83
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/MallAddressInfoConversion.java
@@ -0,0 +1,25 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.dto.AddressInfoDto;
+import cc.mrbird.febs.mall.entity.MallAddressInfo;
+import cc.mrbird.febs.mall.vo.AddressInfoVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Mapper
+public abstract class MallAddressInfoConversion {
+ public static final MallAddressInfoConversion INSTANCE = Mappers.getMapper(MallAddressInfoConversion.class);
+
+ public abstract AddressInfoVo entityToVo(MallAddressInfo addressInfo);
+
+ public abstract List<AddressInfoVo> entityListToVos(List<MallAddressInfo> addressInfoList);
+
+ public abstract MallAddressInfo dtoToEntity(AddressInfoDto addressInfoDto);
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsConversion.java
new file mode 100644
index 0000000..407f677
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsConversion.java
@@ -0,0 +1,21 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.entity.MallGoods;
+import cc.mrbird.febs.mall.vo.MallGoodsDetailsVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Mapper
+public abstract class MallGoodsConversion {
+ public static final MallGoodsConversion INSTANCE = Mappers.getMapper(MallGoodsConversion.class);
+
+ public abstract MallGoodsDetailsVo entityToDetailsVo(MallGoods mallGoods);
+
+ public abstract List<MallGoodsDetailsVo> entityListToDetailsVoList(List<MallGoods> mallGoods);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsSkuConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsSkuConversion.java
new file mode 100644
index 0000000..d8a0c76
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsSkuConversion.java
@@ -0,0 +1,21 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.entity.MallGoodsSku;
+import cc.mrbird.febs.mall.vo.GoodsDetailsSkuVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Mapper
+public abstract class MallGoodsSkuConversion {
+ public static final MallGoodsSkuConversion INSTANCE = Mappers.getMapper(MallGoodsSkuConversion.class);
+
+ public abstract GoodsDetailsSkuVo entityToVo(MallGoodsSku sku);
+
+ public abstract List<GoodsDetailsSkuVo> entityListToSkuVoList(List<MallGoodsSku> skus);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsStyleConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsStyleConversion.java
new file mode 100644
index 0000000..55de7f5
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/MallGoodsStyleConversion.java
@@ -0,0 +1,21 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.entity.MallGoodsStyle;
+import cc.mrbird.febs.mall.vo.GoodsDetailsStyleVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Mapper
+public abstract class MallGoodsStyleConversion {
+ public static final MallGoodsStyleConversion INSTANCE = Mappers.getMapper(MallGoodsStyleConversion.class);
+
+ public abstract GoodsDetailsStyleVo entityToStyleVo(MallGoodsStyle goodsStyle);
+
+ public abstract List<GoodsDetailsStyleVo> entityListToStyleVoList(List<MallGoodsStyle> goodsStyleList);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/MallShoppingCartConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/MallShoppingCartConversion.java
new file mode 100644
index 0000000..1ee9c8d
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/MallShoppingCartConversion.java
@@ -0,0 +1,21 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.entity.MallShoppingCart;
+import cc.mrbird.febs.mall.vo.ShoppingCartGoodsVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Mapper
+public abstract class MallShoppingCartConversion {
+ public static final MallShoppingCartConversion INSTANCE = Mappers.getMapper(MallShoppingCartConversion.class);
+
+ public abstract ShoppingCartGoodsVo entityToVo(MallShoppingCart cart);
+
+ public abstract List<ShoppingCartGoodsVo> entityListToVoList(List<MallShoppingCart> carts);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddCartDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddCartDto.java
new file mode 100644
index 0000000..4e6f6ec
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddCartDto.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Data
+@ApiModel(value = "AddCartDto", description = "添加到购物车接收参数类")
+public class AddCartDto {
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "skuId")
+ private Long skuId;
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "数量")
+ private Integer cnt;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java
new file mode 100644
index 0000000..2d78d52
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Data
+@ApiModel(value = "AddOrderDto", description = "新增订单接口参数接收类")
+public class AddOrderDto {
+
+ @ApiModelProperty(value = "skuID", example = "1")
+ private Long skuId;
+
+ @ApiModelProperty(value = "数量", example = "2")
+ private Integer cnt;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddressInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddressInfoDto.java
new file mode 100644
index 0000000..4299ea3
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddressInfoDto.java
@@ -0,0 +1,44 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Data
+@ApiModel(value = "AddressInfoDto", description = "地址接收参数类")
+public class AddressInfoDto {
+
+ @ApiModelProperty(value = "id", example = "编辑的时候传")
+ private Long id;
+
+ @NotBlank(message = "参数不能为空")
+ @ApiModelProperty(value = "姓名", example = "王")
+ private String name;
+
+ @NotBlank(message = "参数不能为空")
+ @ApiModelProperty(value = "手机号", example = "15773001234")
+ private String phone;
+
+ @NotBlank(message = "参数不能为空")
+ @ApiModelProperty(value = "地区", example = "北京市朝阳区")
+ private String area;
+
+ @NotBlank(message = "参数不能为空")
+ @ApiModelProperty(value = "地址", example = "朝阳街道110栋119号")
+ private String address;
+
+ @ApiModelProperty(value = "经度", example = "112.12345678")
+ private String longitude;
+
+ @ApiModelProperty(value = "纬度", example = "87.12345678")
+ private String latitude;
+
+ @ApiModelProperty(value = "是否默认", example = "1是2否")
+ private Integer isDefault;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallAddressInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/MallAddressInfo.java
new file mode 100644
index 0000000..d952e7a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallAddressInfo.java
@@ -0,0 +1,48 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Data
+@TableName("mall_address_info")
+public class MallAddressInfo extends BaseEntity {
+
+ private String name;
+
+ private String phone;
+
+ private Long memberId;
+
+ /**
+ * 地区 省市区
+ */
+ private String area;
+
+ /**
+ * 具体地址
+ */
+ private String address;
+
+ /**
+ * 经度
+ */
+ private String longitude;
+
+ /**
+ * 纬度
+ */
+ private String latitude;
+
+ /**
+ * 是否默认地址 1-是 2-否
+ */
+ private Integer isDefault;
+ public static final Integer IS_DEFAULT_Y = 1;
+ public static final Integer IS_DEFAULT_N = 2;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java b/src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java
index 25ca13b..df5c4df 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java
@@ -1,8 +1,11 @@
package cc.mrbird.febs.mall.entity;
import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
+
+import java.util.List;
/**
* @author wzy
@@ -33,4 +36,10 @@
private Long categoryId;
private Integer isHot;
+
+ @TableField(exist = false)
+ private List<MallGoodsStyle> styles;
+
+ @TableField(exist = false)
+ private List<String> images;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallGoodsStyle.java b/src/main/java/cc/mrbird/febs/mall/entity/MallGoodsStyle.java
index f07408e..c3d9f23 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallGoodsStyle.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallGoodsStyle.java
@@ -1,8 +1,11 @@
package cc.mrbird.febs.mall.entity;
import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
+
+import java.util.List;
/**
* @author wzy
@@ -15,4 +18,7 @@
private Long goodsId;
private String name;
+
+ @TableField(exist = false)
+ private List<MallGoodsSku> skus;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java
new file mode 100644
index 0000000..ceacbfd
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMoneyFlow.java
@@ -0,0 +1,24 @@
+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;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Data
+@TableName("mall_money_flow")
+public class MallMoneyFlow extends BaseEntity {
+
+ private Long memberId;
+
+ private BigDecimal amount;
+
+ private Integer type;
+
+ private String orderNo;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
new file mode 100644
index 0000000..8d9fc8b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
@@ -0,0 +1,49 @@
+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;
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Data
+@TableName("mall_order_info")
+public class MallOrderInfo extends BaseEntity {
+
+ private String orderNo;
+
+ private Long memberId;
+
+ private Date orderTime;
+
+ private Date payTime;
+
+ private BigDecimal amount;
+
+ private String payMethod;
+
+ /**
+ * 状态 1-待支付2-待发货3-待收货4-已完成5-退款中6-已退款7-已取消
+ */
+ private Integer status;
+
+ /**
+ * 取消类型 1-超时未支付2-主动取消
+ */
+ private Integer cancelType;
+
+ private String name;
+
+ private String phone;
+
+ private String address;
+
+ private String longitude;
+
+ private String latitude;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java
new file mode 100644
index 0000000..6cf10f1
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java
@@ -0,0 +1,33 @@
+package cc.mrbird.febs.mall.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Data
+@TableName("mall_order_item")
+public class MallOrderItem {
+
+ private Long orderId;
+
+ private Long skuId;
+
+ private Long goodsId;
+
+ private String goodsName;
+
+ private String styleName;
+
+ private String skuName;
+
+ private Integer cnt;
+
+ private BigDecimal price;
+
+ private BigDecimal amount;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallShoppingCart.java b/src/main/java/cc/mrbird/febs/mall/entity/MallShoppingCart.java
new file mode 100644
index 0000000..f23fc07
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallShoppingCart.java
@@ -0,0 +1,31 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Data
+@TableName("mall_shopping_cart")
+public class MallShoppingCart extends BaseEntity {
+
+ private Long memberId;
+
+ private Long goodsId;
+
+ private Long styleId;
+
+ private Long skuId;
+
+ private Integer cnt;
+
+ @TableField(exist = false)
+ private MallGoods goods;
+
+ @TableField(exist = false)
+ private MallGoodsSku sku;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallAddressInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallAddressInfoMapper.java
new file mode 100644
index 0000000..eb8e455
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallAddressInfoMapper.java
@@ -0,0 +1,14 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.MallAddressInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface MallAddressInfoMapper extends BaseMapper<MallAddressInfo> {
+
+ List<MallAddressInfo> selectAddressInfoListByMemberId(@Param("memberId") Long memberId);
+
+ int updateIsDefault(@Param("isDefault") Integer isDefault, @Param("memberId") Long memberId, @Param("id") Long id);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsImagesMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsImagesMapper.java
index 37fc3b1..5732c2f 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsImagesMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsImagesMapper.java
@@ -1,10 +1,15 @@
package cc.mrbird.febs.mall.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* @author wzy
* @date 2021-09-17
**/
public interface MallGoodsImagesMapper extends BaseMapper<MallGoodsMapper> {
+
+ List<String> selectGoodsImagesByGoodsId(@Param("goodsId") Long goodsId);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
index 6340e58..990b0a4 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
@@ -9,12 +9,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
-import java.util.List;
-
public interface MallGoodsMapper extends BaseMapper<MallGoods> {
IPage<MallGoodsListVo> selectMallGoodsListQueryInPage(@Param("record") MallGoodsQueryDto queryDto, Page<MallGoodsListVo> page);
+ MallGoods selectGoodsDetailById(@Param("id") Long id);
+
IPage<AdminMallGoodsVo> selectMallGoodsInPage(Page<AdminMallGoodsVo> page, @Param("record")MallGoods mallGoods);
Integer selectMallGoodsCountByGoodsName(@Param("goodsName")String goodsName);
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
new file mode 100644
index 0000000..7e1e324
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.MallMoneyFlow;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface MallMoneyFlowMapper extends BaseMapper<MallMoneyFlow> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
new file mode 100644
index 0000000..74bdcd4
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -0,0 +1,11 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.MallOrderInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+public interface MallOrderInfoMapper extends BaseMapper<MallOrderInfo> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java
new file mode 100644
index 0000000..58d0e92
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.MallOrderItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface MallOrderItemMapper extends BaseMapper<MallOrderItem> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallShoppingCartMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallShoppingCartMapper.java
new file mode 100644
index 0000000..8b79d93
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallShoppingCartMapper.java
@@ -0,0 +1,18 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.MallShoppingCart;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+public interface MallShoppingCartMapper extends BaseMapper<MallShoppingCart> {
+
+ List<MallShoppingCart> selectCartGoodsList(@Param("memberId") Long memberId);
+
+ MallShoppingCart selectCartGoodsBySkuId(@Param("skuId") Long skuId, @Param("memberId") Long memberId);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallAddressInfoService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallAddressInfoService.java
new file mode 100644
index 0000000..64d27c3
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallAddressInfoService.java
@@ -0,0 +1,19 @@
+package cc.mrbird.febs.mall.service;
+
+import cc.mrbird.febs.mall.dto.AddressInfoDto;
+import cc.mrbird.febs.mall.entity.MallAddressInfo;
+import cc.mrbird.febs.mall.vo.AddressInfoVo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+public interface IApiMallAddressInfoService extends IService<MallAddressInfo> {
+
+ List<AddressInfoVo> findAddressInfoList();
+
+ void addAddress(AddressInfoDto addressInfoDto);
+
+ void modifyAddress(AddressInfoDto addressInfoDto);
+
+ void setDefaultAddress(Long id);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java
index 9c0a7a8..58ea980 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java
@@ -2,11 +2,15 @@
import cc.mrbird.febs.mall.dto.MallGoodsQueryDto;
import cc.mrbird.febs.mall.entity.MallGoods;
+import cc.mrbird.febs.mall.vo.MallGoodsDetailsVo;
import cc.mrbird.febs.mall.vo.MallGoodsListVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
public interface IApiMallGoodsService extends IService<MallGoods> {
IPage<MallGoodsListVo> findMallGoodsListInPage(MallGoodsQueryDto queryDto);
+
+ MallGoodsDetailsVo findMallGoodsDetailsById(@Param("id") Long id);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
new file mode 100644
index 0000000..fc76a83
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.service;
+
+import cc.mrbird.febs.mall.entity.MallOrderInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface IApiMallOrderInfoService extends IService<MallOrderInfo> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallShoppingCartService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallShoppingCartService.java
new file mode 100644
index 0000000..6a790d1
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallShoppingCartService.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.mall.service;
+
+import cc.mrbird.febs.mall.dto.AddCartDto;
+import cc.mrbird.febs.mall.entity.MallShoppingCart;
+import cc.mrbird.febs.mall.vo.ShoppingCartGoodsVo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+public interface IApiMallShoppingCartService extends IService<MallShoppingCart> {
+
+ List<ShoppingCartGoodsVo> findCartGoodsList();
+
+ void addGoodsToCart(AddCartDto addCartDto);
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java
new file mode 100644
index 0000000..1a42e2e
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java
@@ -0,0 +1,88 @@
+package cc.mrbird.febs.mall.service.impl;
+
+import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.mall.conversion.MallAddressInfoConversion;
+import cc.mrbird.febs.mall.dto.AddressInfoDto;
+import cc.mrbird.febs.mall.entity.MallAddressInfo;
+import cc.mrbird.febs.mall.entity.MallMember;
+import cc.mrbird.febs.mall.mapper.MallAddressInfoMapper;
+import cc.mrbird.febs.mall.service.IApiMallAddressInfoService;
+import cc.mrbird.febs.mall.vo.AddressInfoVo;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class ApiMallAddressInfoServiceImpl extends ServiceImpl<MallAddressInfoMapper, MallAddressInfo> implements IApiMallAddressInfoService {
+
+ @Override
+ public List<AddressInfoVo> findAddressInfoList() {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ List<MallAddressInfo> addressInfos = this.baseMapper.selectAddressInfoListByMemberId(memberId);
+
+ return MallAddressInfoConversion.INSTANCE.entityListToVos(addressInfos);
+ }
+
+ @Override
+ public void addAddress(AddressInfoDto addressInfoDto) {
+ MallAddressInfo addressInfo = MallAddressInfoConversion.INSTANCE.dtoToEntity(addressInfoDto);
+
+ MallMember member = LoginUserUtil.getLoginUser();
+ Long memberId = member.getId();
+ List<MallAddressInfo> existAddress = this.baseMapper.selectList(null);
+ if (CollUtil.isEmpty(existAddress)) {
+ addressInfo.setIsDefault(MallAddressInfo.IS_DEFAULT_Y);
+ } else {
+ if (MallAddressInfo.IS_DEFAULT_Y.equals(addressInfoDto.getIsDefault())) {
+ this.baseMapper.updateIsDefault(MallAddressInfo.IS_DEFAULT_N, memberId, null);
+ }
+ }
+
+ addressInfo.setMemberId(memberId);
+ addressInfo.setCreatedBy(member.getPhone());
+ addressInfo.setUpdatedBy(member.getPhone());
+ this.baseMapper.insert(addressInfo);
+ }
+
+ @Override
+ public void modifyAddress(AddressInfoDto addressInfoDto) {
+ MallAddressInfo existAddress = this.baseMapper.selectById(addressInfoDto.getId());
+ if (existAddress == null) {
+ throw new FebsException("地址不存在");
+ }
+
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ MallAddressInfo addressInfo = MallAddressInfoConversion.INSTANCE.dtoToEntity(addressInfoDto);
+ if (MallAddressInfo.IS_DEFAULT_Y.equals(addressInfoDto.getIsDefault())) {
+ this.baseMapper.updateIsDefault(MallAddressInfo.IS_DEFAULT_N, memberId, null);
+ }
+
+ addressInfo.setUpdatedTime(new Date());
+ this.baseMapper.updateById(addressInfo);
+ }
+
+ @Override
+ public void setDefaultAddress(Long id) {
+ MallAddressInfo addressInfo = this.baseMapper.selectById(id);
+ if (addressInfo == null) {
+ throw new FebsException("地址不存在");
+ }
+
+ MallMember member = LoginUserUtil.getLoginUser();
+ this.baseMapper.updateIsDefault(MallAddressInfo.IS_DEFAULT_N, member.getId(), null);
+
+ this.baseMapper.updateIsDefault(MallAddressInfo.IS_DEFAULT_Y, member.getId(), id);
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
index 6a9f5a0..7471bf9 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
@@ -1,9 +1,14 @@
package cc.mrbird.febs.mall.service.impl;
+import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.mall.conversion.MallGoodsConversion;
+import cc.mrbird.febs.mall.conversion.MallMemberConversion;
import cc.mrbird.febs.mall.dto.MallGoodsQueryDto;
import cc.mrbird.febs.mall.entity.MallGoods;
+import cc.mrbird.febs.mall.mapper.MallGoodsImagesMapper;
import cc.mrbird.febs.mall.mapper.MallGoodsMapper;
import cc.mrbird.febs.mall.service.IApiMallGoodsService;
+import cc.mrbird.febs.mall.vo.MallGoodsDetailsVo;
import cc.mrbird.febs.mall.vo.MallGoodsListVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -23,9 +28,23 @@
@RequiredArgsConstructor
public class ApiMallGoodsServiceImpl extends ServiceImpl<MallGoodsMapper, MallGoods> implements IApiMallGoodsService {
+ private final MallGoodsImagesMapper goodsImagesMapper;
+
@Override
public IPage<MallGoodsListVo> findMallGoodsListInPage(MallGoodsQueryDto queryDto) {
Page<MallGoodsListVo> page = new Page<>(queryDto.getPageNow(), queryDto.getPageSize());
return this.baseMapper.selectMallGoodsListQueryInPage(queryDto, page);
}
+
+ @Override
+ public MallGoodsDetailsVo findMallGoodsDetailsById(Long id) {
+ MallGoods mallGoods = this.baseMapper.selectGoodsDetailById(id);
+ if (mallGoods == null) {
+ throw new FebsException("商品不存在");
+ }
+ List<String> images = goodsImagesMapper.selectGoodsImagesByGoodsId(mallGoods.getId());
+ MallGoodsDetailsVo mallGoodsDetailsVo = MallGoodsConversion.INSTANCE.entityToDetailsVo(mallGoods);
+ mallGoodsDetailsVo.setImages(images);
+ return mallGoodsDetailsVo;
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
new file mode 100644
index 0000000..41a6417
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -0,0 +1,19 @@
+package cc.mrbird.febs.mall.service.impl;
+
+import cc.mrbird.febs.mall.entity.MallOrderInfo;
+import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
+import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class ApiMallOrderInfoServiceImpl extends ServiceImpl<MallOrderInfoMapper, MallOrderInfo> implements IApiMallOrderInfoService {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java
new file mode 100644
index 0000000..f6215dc
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java
@@ -0,0 +1,64 @@
+package cc.mrbird.febs.mall.service.impl;
+
+import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.mall.conversion.MallShoppingCartConversion;
+import cc.mrbird.febs.mall.dto.AddCartDto;
+import cc.mrbird.febs.mall.entity.MallGoodsSku;
+import cc.mrbird.febs.mall.entity.MallShoppingCart;
+import cc.mrbird.febs.mall.mapper.MallGoodsSkuMapper;
+import cc.mrbird.febs.mall.mapper.MallShoppingCartMapper;
+import cc.mrbird.febs.mall.service.IApiMallShoppingCartService;
+import cc.mrbird.febs.mall.vo.ShoppingCartGoodsVo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class ApiMallShoppingCartServiceImpl extends ServiceImpl<MallShoppingCartMapper, MallShoppingCart> implements IApiMallShoppingCartService {
+
+ private final MallGoodsSkuMapper mallGoodsSkuMapper;
+
+ @Override
+ public List<ShoppingCartGoodsVo> findCartGoodsList() {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ List<MallShoppingCart> carts = this.baseMapper.selectCartGoodsList(memberId);
+
+ return MallShoppingCartConversion.INSTANCE.entityListToVoList(carts);
+ }
+
+ @Override
+ public void addGoodsToCart(AddCartDto addCartDto) {
+ MallGoodsSku sku = mallGoodsSkuMapper.selectById(addCartDto.getSkuId());
+
+ if (sku == null) {
+ throw new FebsException("sku不存在");
+ }
+
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+
+ MallShoppingCart cartGoods = this.baseMapper.selectCartGoodsBySkuId(sku.getId(), memberId);
+ if (cartGoods == null) {
+ cartGoods = new MallShoppingCart();
+ cartGoods.setGoodsId(sku.getGoodsId());
+ cartGoods.setSkuId(sku.getId());
+ cartGoods.setStyleId(sku.getStyleId());
+ cartGoods.setCnt(addCartDto.getCnt());
+ cartGoods.setMemberId(memberId);
+
+ this.baseMapper.insert(cartGoods);
+ } else {
+ cartGoods.setCnt(cartGoods.getCnt() + addCartDto.getCnt());
+ this.baseMapper.updateById(cartGoods);
+ }
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AddressInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AddressInfoVo.java
new file mode 100644
index 0000000..4983b1d
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AddressInfoVo.java
@@ -0,0 +1,32 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-18
+ **/
+@Data
+@ApiModel(value = "AddressInfoVo", description = "地址信息返回参数类")
+public class AddressInfoVo {
+
+ @ApiModelProperty(value = "id")
+ private String id;
+
+ @ApiModelProperty(value = "姓名")
+ private String name;
+
+ @ApiModelProperty(value = "手机号")
+ private String phone;
+
+ @ApiModelProperty(value = "地区")
+ private String area;
+
+ @ApiModelProperty(value = "地址")
+ private String address;
+
+ @ApiModelProperty(value = "是否默认地址 1-是 2-否")
+ private Integer isDefault;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/GoodsDetailsSkuVo.java b/src/main/java/cc/mrbird/febs/mall/vo/GoodsDetailsSkuVo.java
new file mode 100644
index 0000000..4479aa1
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/GoodsDetailsSkuVo.java
@@ -0,0 +1,37 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Data
+@ApiModel(value = "GoodsDetailsSkuVo", description = "商品详情sku返回参数类")
+public class GoodsDetailsSkuVo {
+
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ @ApiModelProperty(value = "sku名称")
+ private String skuName;
+
+ @ApiModelProperty(value = "sku图片")
+ private String skuImage;
+
+ @ApiModelProperty(value = "库存")
+ private Integer stock;
+
+ @ApiModelProperty(value = "销量")
+ private Integer skuVolume;
+
+ @ApiModelProperty(value = "原价")
+ private BigDecimal originalPrice;
+
+ @ApiModelProperty(value = "现价")
+ private BigDecimal presentPrice;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/GoodsDetailsStyleVo.java b/src/main/java/cc/mrbird/febs/mall/vo/GoodsDetailsStyleVo.java
new file mode 100644
index 0000000..05550e8
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/GoodsDetailsStyleVo.java
@@ -0,0 +1,25 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Data
+@ApiModel(value = "GoodsDetailsStyleVo", description = "商品详情样式返回参数类")
+public class GoodsDetailsStyleVo {
+
+ @ApiModelProperty(value = "id")
+ private String id;
+
+ @ApiModelProperty(value = "样式名称")
+ private String name;
+
+ @ApiModelProperty(value = "sku")
+ private List<GoodsDetailsSkuVo> skus;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java
new file mode 100644
index 0000000..f94ff77
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java
@@ -0,0 +1,46 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Data
+@ApiModel(value = "MallGoodsDetailsVo", description = "商品详情返回参数类")
+public class MallGoodsDetailsVo {
+
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ @ApiModelProperty(value = "商品编号")
+ private String goodsNo;
+
+ @ApiModelProperty(value = "商品名称")
+ private String goodsName;
+
+ @ApiModelProperty(value = "商品介绍")
+ private String goodsIntrodution;
+
+ @ApiModelProperty(value = "商品详情")
+ private String goodsDetails;
+
+ @ApiModelProperty(value = "原价")
+ private String originalPrice;
+
+ @ApiModelProperty(value = "现价")
+ private String presentPrice;
+
+ @ApiModelProperty(value = "是否上架 1-上架 2-下架")
+ private Integer isSale;
+
+ @ApiModelProperty(value = "轮播图")
+ private List<String> images;
+
+ @ApiModelProperty(value = "样式")
+ private List<GoodsDetailsStyleVo> styles;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ShoppingCartGoodsVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ShoppingCartGoodsVo.java
new file mode 100644
index 0000000..01a4f82
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ShoppingCartGoodsVo.java
@@ -0,0 +1,27 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-17
+ **/
+@Data
+@ApiModel(value = "ShoppingCartGoodsVo", description = "购物车返回参数类")
+public class ShoppingCartGoodsVo {
+
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ @ApiModelProperty(value = "数量")
+ private Integer cnt;
+
+ @ApiModelProperty(value = "商品详情 若该字段为null则提示商品已删除")
+ private MallGoodsDetailsVo goods;
+
+ @ApiModelProperty(value = "sku信息 若该字段为null则提示sku已删除")
+ private GoodsDetailsSkuVo sku;
+
+}
diff --git a/src/main/resources/mapper/modules/MallAddressInfoMapper.xml b/src/main/resources/mapper/modules/MallAddressInfoMapper.xml
new file mode 100644
index 0000000..c464d62
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallAddressInfoMapper.xml
@@ -0,0 +1,19 @@
+<?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.MallAddressInfoMapper">
+
+ <select id="selectAddressInfoListByMemberId" resultType="cc.mrbird.febs.mall.entity.MallAddressInfo">
+ select * from mall_address_info
+ where member_id=#{memberId}
+ order by is_default asc, created_time desc
+ </select>
+
+ <update id="updateIsDefault">
+ update mall_address_info
+ set is_default=#{isDefault}
+ where member_id=#{memberId}
+ <if test="id != null">
+ and id=#{id}
+ </if>
+ </update>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallGoodsImagesMapper.xml b/src/main/resources/mapper/modules/MallGoodsImagesMapper.xml
new file mode 100644
index 0000000..6b3049e
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallGoodsImagesMapper.xml
@@ -0,0 +1,8 @@
+<?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.MallGoodsImagesMapper">
+
+ <select id="selectGoodsImagesByGoodsId" resultType="java.lang.String">
+ select image_url from mall_goods_images where goods_id=#{goodsId}
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index a745732..39bc47b 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -2,6 +2,57 @@
<!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.MallGoodsMapper">
+ <resultMap id="MallGoodsMap" type="cc.mrbird.febs.mall.entity.MallGoods">
+ <id property="id" column="id" />
+ <result property="goodsNo" column="goods_no" />
+ <result property="goodsName" column="goods_name" />
+ <result property="goodsIntrodution" column="goods_introdution" />
+ <result property="unit" column="unit" />
+ <result property="thumb" column="thumb" />
+ <result property="goodsDetails" column="goods_details" />
+ <result property="isSale" column="is_sale" />
+ <result property="originalPrice" column="original_price" />
+ <result property="presentPrice" column="present_price" />
+ <result property="categoryId" column="category_id" />
+ <collection property="styles" ofType="cc.mrbird.febs.mall.entity.MallGoodsStyle">
+ <id property="id" column="style_id" />
+ <result property="name" column="style_name" />
+ <result property="goodsId" column="style_goods_id" />
+ <collection property="skus" ofType="cc.mrbird.febs.mall.entity.MallGoodsSku">
+ <id property="id" column="sku_id" />
+ <result property="skuName" column="sku_name" />
+ <result property="skuImage" column="sku_image" />
+ <result property="stock" column="stock" />
+ <result property="skuVolume" column="sku_volume" />
+ <result property="originalPrice" column="sku_original_price" />
+ <result property="presentPrice" column="sku_present_price" />
+ <result property="styleId" column="sku_style_id"/>
+ <result property="goodsId" column="sku_goods_id" />
+ </collection>
+ </collection>
+ </resultMap>
+
+ <select id="selectGoodsDetailById" resultMap="MallGoodsMap">
+ select
+ a.*,
+ b.id style_id,
+ b.name style_name,
+ b.goods_id style_goods_id,
+ c.id sku_id,
+ c.sku_name,
+ c.sku_image,
+ c.stock,
+ c.sku_volume,
+ c.original_price sku_original_price,
+ c.present_price sku_present_price,
+ c.style_id sku_style_id,
+ c.goods_id sku_goods_id
+ from mall_goods a
+ inner join mall_goods_style b on a.id = b.goods_id
+ inner join mall_goods_sku c on b.id=c.style_id
+ where a.id=#{id}
+ </select>
+
<select id="selectMallGoodsListQueryInPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsListVo">
select
a.id,
diff --git a/src/main/resources/mapper/modules/MallGoodsSkuMapper.xml b/src/main/resources/mapper/modules/MallGoodsSkuMapper.xml
new file mode 100644
index 0000000..176ea27
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallGoodsSkuMapper.xml
@@ -0,0 +1,9 @@
+<?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.MallGoodsSkuMapper">
+
+
+ <select id="selectSkuInfoById" resultType="cc.mrbird.febs.mall.entity.MallGoodsSku">
+ select * from mall_goods_sku where id=#{id}
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
new file mode 100644
index 0000000..9d3fa8b
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -0,0 +1,5 @@
+<?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.MallMoneyFlowMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
new file mode 100644
index 0000000..bd39908
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -0,0 +1,5 @@
+<?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.MallOrderInfoMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallOrderItemMapper.xml b/src/main/resources/mapper/modules/MallOrderItemMapper.xml
new file mode 100644
index 0000000..ca78766
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallOrderItemMapper.xml
@@ -0,0 +1,5 @@
+<?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.MallOrderItemMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallShoppingCartMapper.xml b/src/main/resources/mapper/modules/MallShoppingCartMapper.xml
new file mode 100644
index 0000000..1dd5d8d
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallShoppingCartMapper.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.MallShoppingCartMapper">
+
+ <resultMap id="ShoppingCartMap" type="cc.mrbird.febs.mall.entity.MallShoppingCart">
+ <id property="id" column="id" />
+ <result property="goodsId" column="goods_id" />
+ <result property="styleId" column="style_id" />
+ <result property="skuId" column="sku_id" />
+ <result property="cnt" column="cnt" />
+ <association property="goods" select="cc.mrbird.febs.mall.mapper.MallGoodsMapper.selectGoodsDetailById" column="{id=goods_id}"></association>
+ <association property="sku" select="cc.mrbird.febs.mall.mapper.MallGoodsSkuMapper.selectSkuInfoById" column="{id=sku_id}"></association>
+ </resultMap>
+
+ <select id="selectCartGoodsList" resultMap="ShoppingCartMap">
+ select * from mall_shopping_cart where member_id=#{memberId}
+ </select>
+
+ <select id="selectCartGoodsBySkuId" resultType="cc.mrbird.febs.mall.entity.MallShoppingCart">
+ select * from mall_shopping_cart
+ where member_id=#{memberId} and sku_id=#{skuId}
+ </select>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.1