diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml
index 3d5da182..017c60d6 100644
--- a/ruoyi-modules/pom.xml
+++ b/ruoyi-modules/pom.xml
@@ -15,6 +15,7 @@
ruoyi-file
ruoyi-potenza
ruoyi-user
+ ruoyi-product
ruoyi-modules
diff --git a/ruoyi-modules/ruoyi-product/pom.xml b/ruoyi-modules/ruoyi-product/pom.xml
new file mode 100644
index 00000000..3022cc8e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/pom.xml
@@ -0,0 +1,111 @@
+
+
+
+ ruoyi-modules
+ com.ruoyi
+ 3.6.1
+
+ 4.0.0
+
+ com.ruoyi.product
+ ruoyi-product
+
+
+ 8
+ 8
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.2
+
+
+
+ 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.github.xiaoymin
+ knife4j-spring-boot-starter
+ 3.0.3
+
+
+
+ mysql
+ mysql-connector-java
+
+
+
+
+ com.ruoyi
+ ruoyi-common-datasource
+
+
+
+
+ com.ruoyi
+ ruoyi-common-datascope
+
+
+
+
+ com.ruoyi
+ ruoyi-common-log
+
+
+
+
+ com.ruoyi
+ ruoyi-common-swagger
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/RuoYiProductApplication.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/RuoYiProductApplication.java
new file mode 100644
index 00000000..51cc078c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/RuoYiProductApplication.java
@@ -0,0 +1,34 @@
+package com.ruoyi.product;
+
+import com.ruoyi.common.security.annotation.EnableCustomConfig;
+import com.ruoyi.common.security.annotation.EnableRyFeignClients;
+import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * 系统模块
+ *
+ * @author ruoyi
+ */
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableRyFeignClients
+@SpringBootApplication
+public class RuoYiProductApplication
+{
+ public static void main(String[] args)
+ {
+ SpringApplication.run(RuoYiProductApplication.class, args);
+ System.out.println("(♥◠‿◠)ノ゙ 系统模块启动成功 ლ(´ڡ`ლ)゙ \n" +
+ " .-------. ____ __ \n" +
+ " | _ _ \\ \\ \\ / / \n" +
+ " | ( ' ) | \\ _. / ' \n" +
+ " |(_ o _) / _( )_ .' \n" +
+ " | (_,_).' __ ___(_ o _)' \n" +
+ " | |\\ \\ | || |(_,_)' \n" +
+ " | | \\ `' /| `-' / \n" +
+ " | | \\ / \\ / \n" +
+ " ''-' `'-' `-..-' ");
+ }
+}
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/config/Knife4jConfiguration.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/config/Knife4jConfiguration.java
new file mode 100644
index 00000000..b37736ba
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/config/Knife4jConfiguration.java
@@ -0,0 +1,36 @@
+package com.ruoyi.product.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.Contact;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+public class Knife4jConfiguration {
+ @Bean(value = "defaultApi2")
+ public Docket defaultApi2() {
+ String groupName="3.X版本";
+ Docket docket=new Docket(DocumentationType.OAS_30)
+ .apiInfo(new ApiInfoBuilder()
+ .title("产品中心 API详细描述 ")
+ .description("# 这里记录服务端所有的接口的入参,出参等等信息")
+ .termsOfServiceUrl("https://www.shenmazong.com")
+ .contact(new Contact("杨杨","http://yangzongli.com","337296894@qq.com"))
+ .version("3.0")
+ .build())
+ //分组名称
+ .groupName(groupName)
+ .select()
+ //这里指定Controller扫描包路径
+ .apis(RequestHandlerSelectors.basePackage("com.ruoyi.product.controller"))
+ .paths(PathSelectors.any())
+ .build();
+ return docket;
+ }
+}
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/controller/ProductController.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/controller/ProductController.java
new file mode 100644
index 00000000..c1cdac77
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/controller/ProductController.java
@@ -0,0 +1,73 @@
+package com.ruoyi.product.controller;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+
+import com.ruoyi.product.pojo.vo.IdVo;
+import com.ruoyi.product.pojo.vo.PageInfoVo;
+import com.ruoyi.product.service.TbFinancialProductService;
+import com.ruoyi.product.pojo.vo.ProductInfoVo;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+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;
+
+/**
+ * @version 1.0
+ * @description: TODO
+ * @author杨宗理
+ * @date 2023/1/15 16:34
+ */
+@RestController
+@RequestMapping(value = "/product")
+public class ProductController {
+ @Autowired
+ private TbFinancialProductService tbFinancialProductService;
+
+ /**
+ * 展示产品列表数据
+ * @param pageInfoVo
+ * @return
+ */
+ @PostMapping(value = "/list")
+ public AjaxResult list(@RequestBody PageInfoVo pageInfoVo){
+ return tbFinancialProductService.listPage(pageInfoVo);
+
+ }
+
+ /**
+ * 添加列表数据
+ * @param productInfoVo
+ * @return
+ */
+ @PostMapping(value = "/add")
+ public AjaxResult add(@RequestBody ProductInfoVo productInfoVo){
+ return tbFinancialProductService.add(productInfoVo);
+ }
+
+ /**
+ * 删除数据
+ * @param idVo
+ * @return
+ */
+ @PostMapping(value = "/delete")
+ public AjaxResult delete(@RequestBody IdVo idVo){
+ return tbFinancialProductService.deleteById(idVo);
+ }
+
+ /**
+ *修改数据通过Id
+ * @param productInfoVo
+ * @return
+ */
+ @PostMapping(value = "/update")
+ public AjaxResult update(@RequestBody ProductInfoVo productInfoVo){
+ return tbFinancialProductService.updateId(productInfoVo);
+
+
+ }
+
+
+}
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/mapper/TbFinancialProductMapper.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/mapper/TbFinancialProductMapper.java
new file mode 100644
index 00000000..4906bca3
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/mapper/TbFinancialProductMapper.java
@@ -0,0 +1,17 @@
+package com.ruoyi.product.mapper;
+
+import com.ruoyi.product.pojo.TbFinancialProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Entity com.ruoyi.product.pojo.TbFinancialProduct
+ */
+@Mapper
+public interface TbFinancialProductMapper extends BaseMapper {
+
+}
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/mapper/TbProductTypeMapper.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/mapper/TbProductTypeMapper.java
new file mode 100644
index 00000000..5821e8d3
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/mapper/TbProductTypeMapper.java
@@ -0,0 +1,17 @@
+package com.ruoyi.product.mapper;
+
+import com.ruoyi.product.pojo.TbProductType;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Entity com.ruoyi.product.pojo.TbProductType
+ */
+@Mapper
+public interface TbProductTypeMapper extends BaseMapper {
+
+}
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/TbFinancialProduct.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/TbFinancialProduct.java
new file mode 100644
index 00000000..519dca00
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/TbFinancialProduct.java
@@ -0,0 +1,126 @@
+package com.ruoyi.product.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 金融产品表
+ * @TableName tb_financial_product
+ */
+@TableName(value ="tb_financial_product")
+@Data
+public class TbFinancialProduct implements Serializable {
+ /**
+ *
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer productId;
+
+ /**
+ * 企业id
+ */
+ private Integer firmId;
+
+ /**
+ * 企业名称
+ */
+ private String firmName;
+
+ /**
+ * 产品名称
+ */
+ private String productName;
+
+ /**
+ * 产品描述
+ */
+ private String productDesc;
+
+ /**
+ * 用户ID
+ */
+ private Integer userId;
+
+ /**
+ * 产品种类ID
+ */
+ private Integer typeId;
+
+ /**
+ * 期数
+ */
+ private Integer periods;
+
+ /**
+ * 利率
+ */
+ private Integer productRate;
+
+ /**
+ * 手续费
+ */
+ private Integer produtCharge;
+
+ /**
+ * 最大额度
+ */
+ private Integer maxPrice;
+
+ /**
+ * 最小额度
+ */
+ private Integer minPrice;
+
+ /**
+ * 逾期还款
+ */
+ private Integer termsForLate;
+
+ /**
+ * 允许提前还款
+ */
+ private String termsProductLate;
+
+ /**
+ * 0:没有利息 1:等额本息 2:等额本金
+ */
+ private Integer modeProduct;
+
+ /**
+ * 产品LOGO
+ */
+ private String productPhoto;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ private Integer delFlag;
+
+ /**
+ * 创建者
+ */
+ private String createBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 更新者
+ */
+ private String updateBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/TbProductType.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/TbProductType.java
new file mode 100644
index 00000000..3f937c9d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/TbProductType.java
@@ -0,0 +1,56 @@
+package com.ruoyi.product.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 金融产品类型表
+ * @TableName tb_product_type
+ */
+@TableName(value ="tb_product_type")
+@Data
+public class TbProductType implements Serializable {
+ /**
+ *
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer typeId;
+
+ /**
+ * 产品类型名称
+ */
+ private String typeName;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ private Integer delFlag;
+
+ /**
+ * 创建者
+ */
+ private String createBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 更新者
+ */
+ private String updateBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/vo/IdVo.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/vo/IdVo.java
new file mode 100644
index 00000000..6a9e303d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/vo/IdVo.java
@@ -0,0 +1,17 @@
+package com.ruoyi.product.pojo.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @version 1.0
+ * @description: TODO
+ * @author杨宗理
+ * @date 2023/1/15 20:16
+ */
+@Data
+public class IdVo implements Serializable {
+ private Integer ProductId;
+
+}
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/vo/PageInfoVo.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/vo/PageInfoVo.java
new file mode 100644
index 00000000..fa714062
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/vo/PageInfoVo.java
@@ -0,0 +1,19 @@
+package com.ruoyi.product.pojo.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @version 1.0
+ * @description: TODO
+ * @author杨宗理
+ * @date 2023/1/15 16:46
+ */
+@Data
+public class PageInfoVo implements Serializable {
+ private Integer pageNum;
+ private Integer pageSize;
+ //模糊查询数据
+ private String keyword;
+}
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/vo/ProductInfoVo.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/vo/ProductInfoVo.java
new file mode 100644
index 00000000..ebccbe0c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/pojo/vo/ProductInfoVo.java
@@ -0,0 +1,118 @@
+package com.ruoyi.product.pojo.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @version 1.0
+ * @description: TODO
+ * @author杨宗理
+ * @date 2023/1/16 16:02
+ */
+@Data
+public class ProductInfoVo implements Serializable {
+ private Integer productId;
+
+ /**
+ * 企业id
+ */
+ private Integer firmId;
+
+ /**
+ * 企业名称
+ */
+ private String firmName;
+
+ /**
+ * 产品名称
+ */
+ private String productName;
+
+ /**
+ * 产品描述
+ */
+ private String productDesc;
+
+ /**
+ * 用户ID
+ */
+ private Integer userId;
+
+ /**
+ * 产品种类ID
+ */
+ private Integer typeId;
+
+ /**
+ * 期数
+ */
+ private Integer periods;
+
+ /**
+ * 利率
+ */
+ private Integer productRate;
+
+ /**
+ * 手续费
+ */
+ private Integer produtCharge;
+
+ /**
+ * 最大额度
+ */
+ private Integer maxPrice;
+
+ /**
+ * 最小额度
+ */
+ private Integer minPrice;
+
+ /**
+ * 逾期还款
+ */
+ private Integer termsForLate;
+
+ /**
+ * 允许提前还款
+ */
+ private String termsProductLate;
+
+ /**
+ * 0:没有利息 1:等额本息 2:等额本金
+ */
+ private Integer modeProduct;
+
+ /**
+ * 产品LOGO
+ */
+ private String productPhoto;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ private Integer delFlag;
+
+ /**
+ * 创建者
+ */
+ private String createBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 更新者
+ */
+ private String updateBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+
+}
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/TbFinancialProductService.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/TbFinancialProductService.java
new file mode 100644
index 00000000..c40ad962
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/TbFinancialProductService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.product.service;
+
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.product.pojo.TbFinancialProduct;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.product.pojo.vo.IdVo;
+import com.ruoyi.product.pojo.vo.PageInfoVo;
+import com.ruoyi.product.pojo.vo.ProductInfoVo;
+
+
+
+/**
+ *
+ */
+public interface TbFinancialProductService extends IService {
+
+ AjaxResult listPage(PageInfoVo pageInfoVo);
+
+ AjaxResult add(ProductInfoVo productInfoVo);
+
+ AjaxResult deleteById(IdVo idVo);
+
+ AjaxResult updateId(ProductInfoVo productInfoVo);
+}
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/TbProductTypeService.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/TbProductTypeService.java
new file mode 100644
index 00000000..0d0c3a97
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/TbProductTypeService.java
@@ -0,0 +1,11 @@
+package com.ruoyi.product.service;
+
+import com.ruoyi.product.pojo.TbProductType;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ */
+public interface TbProductTypeService extends IService {
+
+}
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/impl/TbFinancialProductServiceImpl.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/impl/TbFinancialProductServiceImpl.java
new file mode 100644
index 00000000..95b7aa34
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/impl/TbFinancialProductServiceImpl.java
@@ -0,0 +1,120 @@
+package com.ruoyi.product.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.product.pojo.TbFinancialProduct;
+import com.ruoyi.product.pojo.vo.IdVo;
+import com.ruoyi.product.pojo.vo.PageInfoVo;
+import com.ruoyi.product.pojo.vo.ProductInfoVo;
+import com.ruoyi.product.service.TbFinancialProductService;
+import com.ruoyi.product.mapper.TbFinancialProductMapper;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ *
+ */
+@Service
+public class TbFinancialProductServiceImpl extends ServiceImpl
+ implements TbFinancialProductService{
+ @Autowired
+ private TbFinancialProductMapper tbFinancialProductMapper;
+
+ /**
+ * 产品数据查询
+ * @param pageInfoVo
+ * @return
+ */
+ @Override
+ public AjaxResult listPage(PageInfoVo pageInfoVo) {
+ Page page = new Page<>(pageInfoVo.getPageNum(), pageInfoVo.getPageSize());
+ Page financialProductPage = page(page, new QueryWrapper().lambda().eq(TbFinancialProduct::getFirmName, pageInfoVo.getKeyword()).last("limit 1"));
+ List collect = financialProductPage.getRecords().stream().map((item) -> {
+ ProductInfoVo productInfoVo = new ProductInfoVo();
+ BeanUtils.copyProperties(item, productInfoVo);
+ return productInfoVo;
+
+ }).collect(Collectors.toList());
+ Page infoVoPage = new Page<>();
+ infoVoPage.setRecords(collect);
+ infoVoPage.setCurrent(financialProductPage.getCurrent());
+ infoVoPage.setSize(financialProductPage.getSize());
+ infoVoPage.setTotal(financialProductPage.getTotal());
+
+ return AjaxResult.success(infoVoPage);
+ }
+
+ /**
+ * 添加列表数据
+ * @param productInfoVo
+ * @return
+ */
+ @Override
+ public AjaxResult add(ProductInfoVo productInfoVo) {
+ String firmName = productInfoVo.getFirmName();
+ TbFinancialProduct one = getOne(new QueryWrapper().lambda().eq(TbFinancialProduct::getFirmName, firmName));
+ if(one!=null){
+ return AjaxResult.error(302,"产品名称重复");
+ }
+ TbFinancialProduct financialProduct = new TbFinancialProduct();
+ BeanUtils.copyProperties(productInfoVo,financialProduct);
+ save(financialProduct);
+
+
+ return AjaxResult.success();
+ }
+
+ /**
+ * 删除数据通过id
+ * @param idVo
+ * @return
+ */
+ @Override
+ public AjaxResult deleteById(IdVo idVo) {
+ Integer productId = idVo.getProductId();
+ TbFinancialProduct one = getOne(new QueryWrapper().lambda().eq(TbFinancialProduct::getProductId, productId));
+ if(one==null){
+ return AjaxResult.error(402,"产品Id不存在");
+ }
+ Integer oneProductId = one.getProductId();
+
+ BeanUtils.copyProperties(idVo,one);
+ int i = tbFinancialProductMapper.deleteById(oneProductId);
+ if(i>0){
+ return AjaxResult.success("删除成功");
+ }else {
+ return AjaxResult.error(302,"删除失败");
+ }
+
+ }
+
+ /**
+ * 修改数据通过id
+ * @param productInfoVo
+ * @return
+ */
+ @Override
+ public AjaxResult updateId(ProductInfoVo productInfoVo) {
+ Integer productId = productInfoVo.getProductId();
+ TbFinancialProduct one = getOne(new QueryWrapper().lambda().eq(TbFinancialProduct::getProductId, productId));
+ if(one==null){
+ return AjaxResult.error(402,"产品Id不存在");
+ }
+ TbFinancialProduct product = new TbFinancialProduct();
+ //
+ BeanUtils.copyProperties(productInfoVo,product);
+ tbFinancialProductMapper.updateById(product);
+ return AjaxResult.success("修改成功");
+ }
+}
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/impl/TbProductTypeServiceImpl.java b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/impl/TbProductTypeServiceImpl.java
new file mode 100644
index 00000000..e6b503fa
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/java/com/ruoyi/product/service/impl/TbProductTypeServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.product.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.product.pojo.TbProductType;
+import com.ruoyi.product.service.TbProductTypeService;
+import com.ruoyi.product.mapper.TbProductTypeMapper;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class TbProductTypeServiceImpl extends ServiceImpl
+ implements TbProductTypeService{
+
+}
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-product/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-product/src/main/resources/bootstrap.yml
new file mode 100644
index 00000000..8f250c0e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/resources/bootstrap.yml
@@ -0,0 +1,25 @@
+# Tomcat
+server:
+ port: 9304
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: ruoyi-product
+ 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}
diff --git a/ruoyi-modules/ruoyi-product/src/main/resources/logback.xml b/ruoyi-modules/ruoyi-product/src/main/resources/logback.xml
new file mode 100644
index 00000000..0154e288
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-product/src/main/resources/mapper/TbFinancialProductMapper.xml b/ruoyi-modules/ruoyi-product/src/main/resources/mapper/TbFinancialProductMapper.xml
new file mode 100644
index 00000000..bd7e7784
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/resources/mapper/TbFinancialProductMapper.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ product_id,firm_id,firm_name,
+ product_name,product_desc,user_id,
+ type_id,periods,product_rate,
+ produt_charge,max_price,min_price,
+ terms_for_late,terms_product_late,mode_product,
+ product_photo,del_flag,create_by,
+ create_time,update_by,update_time
+
+
diff --git a/ruoyi-modules/ruoyi-product/src/main/resources/mapper/TbProductTypeMapper.xml b/ruoyi-modules/ruoyi-product/src/main/resources/mapper/TbProductTypeMapper.xml
new file mode 100644
index 00000000..04364f70
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/resources/mapper/TbProductTypeMapper.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ type_id,type_name,del_flag,
+ create_by,create_time,update_by,
+ update_time
+
+
diff --git a/ruoyi-modules/ruoyi-product/src/main/resources/pom.xml b/ruoyi-modules/ruoyi-product/src/main/resources/pom.xml
new file mode 100644
index 00000000..077f0ca5
--- /dev/null
+++ b/ruoyi-modules/ruoyi-product/src/main/resources/pom.xml
@@ -0,0 +1,100 @@
+
+
+
+ com.ruoyi
+ ruoyi-modules
+ 3.6.1
+
+ 4.0.0
+
+ ruoyi-modules-system
+
+
+ ruoyi-modules-system系统模块
+
+
+
+
+
+
+ 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}
+
+
+
+
+ mysql
+ mysql-connector-java
+
+
+
+
+ com.ruoyi
+ ruoyi-common-datasource
+
+
+
+
+ com.ruoyi
+ ruoyi-common-datascope
+
+
+
+
+ com.ruoyi
+ ruoyi-common-log
+
+
+
+
+ com.ruoyi
+ ruoyi-common-swagger
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
\ No newline at end of file