diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/pom.xml b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/pom.xml
new file mode 100644
index 0000000..061e192
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-shop-cart
+ 3.6.3
+
+
+ muyu-shop-cart-common
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.muyu
+ muyu-common-core
+
+
+
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/CartInfo.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/CartInfo.java
new file mode 100644
index 0000000..c5f4c13
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/CartInfo.java
@@ -0,0 +1,105 @@
+package com.muyu.shop.cart.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import io.swagger.annotations.*;
+import com.muyu.common.core.annotation.Excel;
+import com.muyu.shop.cart.domain.req.CartInfoQueryReq;
+import com.muyu.shop.cart.domain.req.CartInfoSaveReq;
+import com.muyu.shop.cart.domain.req.CartInfoEditReq;
+import com.muyu.common.core.web.domain.BaseEntity;
+
+/**
+ * 购物车对象 cart_info
+ *
+ * @author DongZeLiang
+ * @date 2024-03-29
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("cart_info")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "CartInfo", description = "购物车")
+public class CartInfo extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /** 主键 */
+ @TableId(value = "id",type = IdType.AUTO)
+ @ApiModelProperty(name = "主键", value = "主键")
+ private Long id;
+
+ /** 商品 */
+ @Excel(name = "商品")
+ @ApiModelProperty(name = "商品", value = "商品", required = true)
+ private Long projectId;
+
+ /** SKU */
+ @Excel(name = "SKU")
+ @ApiModelProperty(name = "SKU", value = "SKU", required = true)
+ private String projectSku;
+
+ /** 用户 */
+ @Excel(name = "用户")
+ @ApiModelProperty(name = "用户", value = "用户", required = true)
+ private Long userId;
+
+ /** 数量 */
+ @Excel(name = "数量")
+ @ApiModelProperty(name = "数量", value = "数量", required = true)
+ private Long num;
+
+ /** 是否选中 */
+ @Excel(name = "是否选中")
+ @ApiModelProperty(name = "是否选中", value = "是否选中", required = true)
+ private String isSelected;
+
+ /**
+ * 查询构造器
+ */
+ public static CartInfo queryBuild( CartInfoQueryReq cartInfoQueryReq){
+ return CartInfo.builder()
+ .projectId(cartInfoQueryReq.getProjectId())
+ .projectSku(cartInfoQueryReq.getProjectSku())
+ .userId(cartInfoQueryReq.getUserId())
+ .num(cartInfoQueryReq.getNum())
+ .isSelected(cartInfoQueryReq.getIsSelected())
+ .build();
+ }
+
+ /**
+ * 添加构造器
+ */
+ public static CartInfo saveBuild(CartInfoSaveReq cartInfoSaveReq){
+ return CartInfo.builder()
+ .projectId(cartInfoSaveReq.getProjectId())
+ .projectSku(cartInfoSaveReq.getProjectSku())
+ .userId(cartInfoSaveReq.getUserId())
+ .num(cartInfoSaveReq.getNum())
+ .isSelected(cartInfoSaveReq.getIsSelected())
+ .build();
+ }
+
+ /**
+ * 修改构造器
+ */
+ public static CartInfo editBuild(Long id, CartInfoEditReq cartInfoEditReq){
+ return CartInfo.builder()
+ .id(id)
+ .projectId(cartInfoEditReq.getProjectId())
+ .projectSku(cartInfoEditReq.getProjectSku())
+ .userId(cartInfoEditReq.getUserId())
+ .num(cartInfoEditReq.getNum())
+ .isSelected(cartInfoEditReq.getIsSelected())
+ .build();
+ }
+
+}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoEditReq.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoEditReq.java
new file mode 100644
index 0000000..c738419
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoEditReq.java
@@ -0,0 +1,46 @@
+package com.muyu.shop.cart.domain.req;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import io.swagger.annotations.*;
+import com.muyu.common.core.web.domain.BaseEntity;
+
+/**
+ * 购物车对象 cart_info
+ *
+ * @author DongZeLiang
+ * @date 2024-03-29
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(value = "CartInfoEditReq", description = "购物车")
+public class CartInfoEditReq extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /** 商品 */
+ @ApiModelProperty(name = "商品", value = "商品", required = true)
+ private Long projectId;
+
+ /** SKU */
+ @ApiModelProperty(name = "SKU", value = "SKU", required = true)
+ private String projectSku;
+
+ /** 用户 */
+ @ApiModelProperty(name = "用户", value = "用户", required = true)
+ private Long userId;
+
+ /** 数量 */
+ @ApiModelProperty(name = "数量", value = "数量", required = true)
+ private Long num;
+
+ /** 是否选中 */
+ @ApiModelProperty(name = "是否选中", value = "是否选中", required = true)
+ private String isSelected;
+
+}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoQueryReq.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoQueryReq.java
new file mode 100644
index 0000000..efa58f0
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoQueryReq.java
@@ -0,0 +1,46 @@
+package com.muyu.shop.cart.domain.req;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import io.swagger.annotations.*;
+import com.muyu.common.core.web.domain.BaseEntity;
+
+/**
+ * 购物车对象 cart_info
+ *
+ * @author DongZeLiang
+ * @date 2024-03-29
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(value = "CartInfoQueryReq", description = "购物车")
+public class CartInfoQueryReq extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /** 商品 */
+ @ApiModelProperty(name = "商品", value = "商品")
+ private Long projectId;
+
+ /** SKU */
+ @ApiModelProperty(name = "SKU", value = "SKU")
+ private String projectSku;
+
+ /** 用户 */
+ @ApiModelProperty(name = "用户", value = "用户")
+ private Long userId;
+
+ /** 数量 */
+ @ApiModelProperty(name = "数量", value = "数量")
+ private Long num;
+
+ /** 是否选中 */
+ @ApiModelProperty(name = "是否选中", value = "是否选中")
+ private String isSelected;
+
+}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoSaveReq.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoSaveReq.java
new file mode 100644
index 0000000..3163b83
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-common/src/main/java/com/muyu/shop/cart/domain/req/CartInfoSaveReq.java
@@ -0,0 +1,56 @@
+package com.muyu.shop.cart.domain.req;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import io.swagger.annotations.*;
+import com.muyu.common.core.web.domain.BaseEntity;
+
+/**
+ * 购物车对象 cart_info
+ *
+ * @author DongZeLiang
+ * @date 2024-03-29
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@ApiModel(value = "CartInfoSaveReq", description = "购物车")
+public class CartInfoSaveReq extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /** 主键 */
+
+ @ApiModelProperty(name = "主键", value = "主键")
+ private Long id;
+
+ /** 商品 */
+
+ @ApiModelProperty(name = "商品", value = "商品", required = true)
+ private Long projectId;
+
+ /** SKU */
+
+ @ApiModelProperty(name = "SKU", value = "SKU", required = true)
+ private String projectSku;
+
+ /** 用户 */
+
+ @ApiModelProperty(name = "用户", value = "用户", required = true)
+ private Long userId;
+
+ /** 数量 */
+
+ @ApiModelProperty(name = "数量", value = "数量", required = true)
+ private Long num;
+
+ /** 是否选中 */
+
+ @ApiModelProperty(name = "是否选中", value = "是否选中", required = true)
+ private String isSelected;
+
+}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-remote/pom.xml b/muyu-modules/muyu-shop-cart/muyu-shop-cart-remote/pom.xml
new file mode 100644
index 0000000..fc359c7
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-remote/pom.xml
@@ -0,0 +1,29 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-shop-cart
+ 3.6.3
+
+
+ muyu-shop-cart-remote
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+ com.muyu
+ muyu-shop-cart-common
+ ${muyu.version}
+
+
+
+
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/pom.xml b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/pom.xml
new file mode 100644
index 0000000..540f5a5
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/pom.xml
@@ -0,0 +1,116 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-shop-cart
+ 3.6.3
+
+
+ muyu-shop-cart-server
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.fox.version}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.muyu
+ muyu-common-datasource
+
+
+
+
+ com.muyu
+ muyu-common-datascope
+
+
+
+
+ com.muyu
+ muyu-common-log
+
+
+
+
+ com.muyu
+ muyu-common-swagger
+
+
+
+
+ com.muyu
+ muyu-shop-cart-common
+ ${muyu.version}
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+
+
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/MuYuShopCartApplication.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/MuYuShopCartApplication.java
new file mode 100644
index 0000000..759f553
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/MuYuShopCartApplication.java
@@ -0,0 +1,22 @@
+package com.muyu.shop.cart;
+
+import com.muyu.common.security.annotation.EnableCustomConfig;
+import com.muyu.common.security.annotation.EnableMyFeignClients;
+import com.muyu.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * 购物车服务
+ *
+ * @author muyu
+ */
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableMyFeignClients
+@SpringBootApplication
+public class MuYuShopCartApplication {
+ public static void main (String[] args) {
+ SpringApplication.run(MuYuShopCartApplication.class, args);
+ }
+}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/controller/CartInfoController.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/controller/CartInfoController.java
new file mode 100644
index 0000000..baaa949
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/controller/CartInfoController.java
@@ -0,0 +1,111 @@
+package com.muyu.shop.cart.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.utils.poi.ExcelUtil;
+import com.muyu.common.core.web.controller.BaseController;
+import com.muyu.common.log.annotation.Log;
+import com.muyu.common.log.enums.BusinessType;
+import com.muyu.common.security.annotation.RequiresPermissions;
+import com.muyu.shop.cart.domain.CartInfo;
+import com.muyu.shop.cart.domain.req.CartInfoQueryReq;
+import com.muyu.shop.cart.domain.req.CartInfoSaveReq;
+import com.muyu.shop.cart.domain.req.CartInfoEditReq;
+import com.muyu.shop.cart.service.CartInfoService;
+import com.muyu.common.core.web.page.TableDataInfo;
+
+/**
+ * 购物车Controller
+ *
+ * @author DongZeLiang
+ * @date 2024-03-29
+ */
+@Api(tags = "购物车")
+@RestController
+@RequestMapping("/Info")
+public class CartInfoController extends BaseController {
+ @Autowired
+ private CartInfoService cartInfoService;
+
+ /**
+ * 查询购物车列表
+ */
+ @ApiOperation("获取购物车列表")
+ @RequiresPermissions("shopCart:Info:list")
+ @GetMapping("/list")
+ public Result> list(CartInfoQueryReq cartInfoQueryReq) {
+ startPage();
+ List list = cartInfoService.list(CartInfo.queryBuild(cartInfoQueryReq));
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出购物车列表
+ */
+ @ApiOperation("导出购物车列表")
+ @RequiresPermissions("shopCart:Info:export")
+ @Log(title = "购物车", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CartInfo cartInfo) {
+ List list = cartInfoService.list(cartInfo);
+ ExcelUtil util = new ExcelUtil(CartInfo.class);
+ util.exportExcel(response, list, "购物车数据");
+ }
+
+ /**
+ * 获取购物车详细信息
+ */
+ @ApiOperation("获取购物车详细信息")
+ @RequiresPermissions("shopCart:Info:query")
+ @GetMapping(value = "/{id}")
+ @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
+ public Result getInfo(@PathVariable("id") Long id) {
+ return Result.success(cartInfoService.getById(id));
+ }
+
+ /**
+ * 新增购物车
+ */
+ @RequiresPermissions("shopCart:Info:add")
+ @Log(title = "购物车", businessType = BusinessType.INSERT)
+ @PostMapping
+ @ApiOperation("新增购物车")
+ public Result add(@RequestBody CartInfoSaveReq cartInfoSaveReq) {
+ return toAjax(cartInfoService.save(CartInfo.saveBuild(cartInfoSaveReq)));
+ }
+
+ /**
+ * 修改购物车
+ */
+ @RequiresPermissions("shopCart:Info:edit")
+ @Log(title = "购物车", businessType = BusinessType.UPDATE)
+ @PutMapping("/{id}")
+ @ApiOperation("修改购物车")
+ public Result edit(@PathVariable Long id, @RequestBody CartInfoEditReq cartInfoEditReq) {
+ return toAjax(cartInfoService.updateById(CartInfo.editBuild(id,cartInfoEditReq)));
+ }
+
+ /**
+ * 删除购物车
+ */
+ @RequiresPermissions("shopCart:Info:remove")
+ @Log(title = "购物车", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ @ApiOperation("删除购物车")
+ @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
+ public Result remove(@PathVariable List ids) {
+ return toAjax(cartInfoService.removeBatchByIds(ids));
+ }
+}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/mapper/CartInfoMapper.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/mapper/CartInfoMapper.java
new file mode 100644
index 0000000..3fdfa53
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/mapper/CartInfoMapper.java
@@ -0,0 +1,15 @@
+package com.muyu.shop.cart.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.shop.cart.domain.CartInfo;
+
+/**
+ * 购物车Mapper接口
+ *
+ * @author DongZeLiang
+ * @date 2024-03-29
+ */
+public interface CartInfoMapper extends BaseMapper {
+
+}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/CartInfoService.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/CartInfoService.java
new file mode 100644
index 0000000..381566b
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/CartInfoService.java
@@ -0,0 +1,22 @@
+package com.muyu.shop.cart.service;
+
+import java.util.List;
+import com.muyu.shop.cart.domain.CartInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 购物车Service接口
+ *
+ * @author DongZeLiang
+ * @date 2024-03-29
+ */
+public interface CartInfoService extends IService {
+ /**
+ * 查询购物车列表
+ *
+ * @param cartInfo 购物车
+ * @return 购物车集合
+ */
+ public List list(CartInfo cartInfo);
+
+}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/impl/CartInfoServiceImpl.java b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/impl/CartInfoServiceImpl.java
new file mode 100644
index 0000000..f3d4e99
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/java/com/muyu/shop/cart/service/impl/CartInfoServiceImpl.java
@@ -0,0 +1,61 @@
+package com.muyu.shop.cart.service.impl;
+
+import java.util.List;
+
+import com.muyu.common.core.utils.ObjUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import com.muyu.shop.cart.mapper.CartInfoMapper;
+import com.muyu.shop.cart.domain.CartInfo;
+import com.muyu.shop.cart.service.CartInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+
+/**
+ * 购物车Service业务层处理
+ *
+ * @author DongZeLiang
+ * @date 2024-03-29
+ */
+@Slf4j
+@Service
+public class CartInfoServiceImpl extends ServiceImpl implements CartInfoService {
+
+ /**
+ * 查询购物车列表
+ *
+ * @param cartInfo 购物车
+ * @return 购物车
+ */
+ @Override
+ public List list(CartInfo cartInfo) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+
+
+ if (ObjUtils.notNull(cartInfo.getProjectId())){
+ queryWrapper.eq(CartInfo::getProjectId, cartInfo.getProjectId());
+ }
+
+ if (ObjUtils.notNull(cartInfo.getProjectSku())){
+ queryWrapper.eq(CartInfo::getProjectSku, cartInfo.getProjectSku());
+ }
+
+ if (ObjUtils.notNull(cartInfo.getUserId())){
+ queryWrapper.eq(CartInfo::getUserId, cartInfo.getUserId());
+ }
+
+ if (ObjUtils.notNull(cartInfo.getNum())){
+ queryWrapper.eq(CartInfo::getNum, cartInfo.getNum());
+ }
+
+ if (ObjUtils.notNull(cartInfo.getIsSelected())){
+ queryWrapper.eq(CartInfo::getIsSelected, cartInfo.getIsSelected());
+ }
+
+
+
+
+
+ return list(queryWrapper);
+ }
+}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/banner.txt b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/banner.txt
new file mode 100644
index 0000000..0dd5eee
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/banner.txt
@@ -0,0 +1,2 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..325eccf
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/bootstrap.yml
@@ -0,0 +1,28 @@
+# Tomcat
+server:
+ port: 9506
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: muyu-shop-cart
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 127.0.0.1:8848
+ config:
+ # 配置中心地址
+ server-addr: 127.0.0.1:8848
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+logging:
+ level:
+ com.muyu.shop.cart.mapper: DEBUG
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/logback.xml b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/logback.xml
new file mode 100644
index 0000000..aa340cd
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/logback.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/mapper/shopCart/CartInfoMapper.xml b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/mapper/shopCart/CartInfoMapper.xml
new file mode 100644
index 0000000..304219e
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/mapper/shopCart/CartInfoMapper.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, project_id, project_sku, user_id, num, is_selected, remark, create_by, create_time, update_by, update_time from cart_info
+
+
diff --git a/muyu-modules/muyu-shop-cart/pom.xml b/muyu-modules/muyu-shop-cart/pom.xml
new file mode 100644
index 0000000..d944d40
--- /dev/null
+++ b/muyu-modules/muyu-shop-cart/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-modules
+ 3.6.3
+
+
+ muyu-shop-cart
+ pom
+
+ muyu-shop-cart-common
+ muyu-shop-cart-remote
+ muyu-shop-cart-server
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+
diff --git a/muyu-modules/pom.xml b/muyu-modules/pom.xml
index 760c5c2..24447f2 100644
--- a/muyu-modules/pom.xml
+++ b/muyu-modules/pom.xml
@@ -14,6 +14,7 @@
muyu-job
muyu-file
muyu-product
+ muyu-shop-cart
muyu-modules
diff --git a/pom.xml b/pom.xml
index 0e81d24..e4eda55 100644
--- a/pom.xml
+++ b/pom.xml
@@ -234,6 +234,20 @@
${muyu.version}
+
+
+ com.muyu
+ muyu-shop-cart-common
+ ${muyu.version}
+
+
+
+
+ com.muyu
+ muyu-shop-cart-remote
+ ${muyu.version}
+
+