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