From 997b721ad8c8026d733c5ba953c462d268560d57 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期一, 25 十二月 2023 01:45:40 +0800
Subject: [PATCH] 第一阶段

---
 data-server/src/main/java/com/yuanchu/mom/pojo/FansSubmit.java                       |  100 +++++
 user-server/src/main/java/com/yuanchu/mom/pojo/CustomEnum.java                       |   81 ++++
 data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java    |   48 ++
 data-server/src/main/java/com/yuanchu/mom/dto/RegistrantCountDto.java                |  149 ++++++++
 data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java                    |    9 
 data-server/src/main/java/com/yuanchu/mom/mapper/FansSubmitMapper.java               |   22 +
 user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java            |    5 
 data-server/src/main/java/com/yuanchu/mom/service/FansSubmitService.java             |   25 +
 user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java             |   94 +++++
 user-server/src/main/java/com/yuanchu/mom/pojo/ProductEnum.java                      |   77 ++++
 user-server/src/main/java/com/yuanchu/mom/service/CustomEnumService.java             |   31 +
 user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java    |   63 +++
 data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java          |    6 
 user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java      |   50 ++
 data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java |   18 +
 data-server/src/main/java/com/yuanchu/mom/dto/ProductCountDto.java                   |   44 ++
 user-server/src/main/java/com/yuanchu/mom/mapper/CustomEnumMapper.java               |   18 +
 user-server/src/main/resources/mapper/ProductEnumMapper.xml                          |   20 +
 user-server/src/main/java/com/yuanchu/mom/service/RoleService.java                   |    2 
 user-server/src/main/java/com/yuanchu/mom/pojo/Role.java                             |    3 
 data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java            |    6 
 data-server/src/main/resources/mapper/DataReportingMapper.xml                        |   31 +
 user-server/src/main/java/com/yuanchu/mom/mapper/ProductEnumMapper.java              |   18 +
 data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java    |   55 +++
 shengyun_2023_12_23_2300.sql                                                         |    0 
 user-server/src/main/java/com/yuanchu/mom/service/ProductEnumService.java            |   28 +
 user-server/src/main/resources/mapper/CustomEnumMapper.xml                           |   22 +
 user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java             |    7 
 data-server/src/main/resources/mapper/FansSubmitMapper.xml                           |   28 +
 29 files changed, 1,047 insertions(+), 13 deletions(-)

diff --git a/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
index f638998..be9afb0 100644
--- a/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
+++ b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
@@ -5,8 +5,12 @@
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.dto.DataReportingPageDto;
+import com.yuanchu.mom.dto.ProductCountDto;
+import com.yuanchu.mom.dto.RegistrantCountDto;
 import com.yuanchu.mom.pojo.DataReporting;
+import com.yuanchu.mom.pojo.FansSubmit;
 import com.yuanchu.mom.service.DataReportingService;
+import com.yuanchu.mom.service.FansSubmitService;
 import com.yuanchu.mom.utils.JackSonUtil;
 import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
@@ -28,6 +32,8 @@
 
     private DataReportingService dataReportingService;
 
+    private FansSubmitService fansSubmitService;
+
     @ApiOperation(value = "鑾峰彇鏁版嵁涓婃姤鍒楄〃")
     @PostMapping("/selectDataReportingList")
     public Result selectDataReportingList(@RequestBody Map<String, Object> data) {
@@ -42,4 +48,46 @@
         return Result.success(dataReportingService.updateDataReporting(dataReporting));
     }
 
+    @ApiOperation(value = "鑾峰彇椤圭洰姹囨�诲垪琛�")
+    @PostMapping("/selectProductCountDtoPageList")
+    public Result selectProductCountDtoPageList(@RequestBody Map<String, Object> data) {
+        Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+        ProductCountDto productCountDto = JSON.parseObject(JSON.toJSONString(data.get("entity")), ProductCountDto.class);
+        return Result.success(dataReportingService.selectProductCountDtoPageList(page, productCountDto));
+    }
+
+    @ApiOperation(value = "鑾峰彇鐧昏浜烘眹鎬诲垪琛�")
+    @PostMapping("/selectRegistrantCountDtoPageList")
+    public Result selectRegistrantCountDtoPageList(@RequestBody Map<String, Object> data) {
+        Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+        RegistrantCountDto registrantCountDto = JSON.parseObject(JSON.toJSONString(data.get("entity")), RegistrantCountDto.class);
+        return Result.success(dataReportingService.selectRegistrantCountDtoPageList(page, registrantCountDto));
+    }
+
+    @ApiOperation(value = "鑾峰彇杩涚矇涓婃姤鍒楄〃")
+    @PostMapping("/selectFansSubmitList")
+    public Result selectFansSubmitList(@RequestBody Map<String, Object> data) {
+        Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+        FansSubmit fansSubmit = JSON.parseObject(JSON.toJSONString(data.get("entity")), FansSubmit.class);
+        return Result.success(fansSubmitService.selectFansSubmitList(page, fansSubmit));
+    }
+
+    @ApiOperation(value = "鍒犻櫎杩涚矇涓婃姤鍒楄〃")
+    @PostMapping("/delFansSubmit")
+    public Result delFansSubmit(Integer id){
+        return Result.success(fansSubmitService.delFansSubmit(id));
+    }
+
+    @ApiOperation(value = "淇敼杩涚矇涓婃姤淇℃伅")
+    @PostMapping("/updateFansSubmit")
+    public Result<?> updateFansSubmit(@RequestBody FansSubmit fansSubmit) {
+        return Result.success(fansSubmitService.updateFansSubmit(fansSubmit));
+    }
+
+    @ApiOperation(value = "娣诲姞杩涚矇涓婃姤淇℃伅")
+    @PostMapping("/addFansSubmit")
+    public Result<?> addFansSubmit(@RequestBody FansSubmit fansSubmit) {
+        return Result.success(fansSubmitService.addFansSubmit(fansSubmit));
+    }
+
 }
diff --git a/data-server/src/main/java/com/yuanchu/mom/dto/ProductCountDto.java b/data-server/src/main/java/com/yuanchu/mom/dto/ProductCountDto.java
new file mode 100644
index 0000000..1a1cfee
--- /dev/null
+++ b/data-server/src/main/java/com/yuanchu/mom/dto/ProductCountDto.java
@@ -0,0 +1,44 @@
+package com.yuanchu.mom.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProductCountDto extends OrderBy implements Serializable {
+
+    @ValueTableShow(1)
+    @ApiModelProperty("鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @ValueTableShow(2)
+    @ApiModelProperty("椤圭洰")
+    private String product;
+
+    @ValueTableShow(3)
+    @ApiModelProperty("娑堣垂")
+    private BigDecimal consumption;
+
+    @ValueTableShow(4)
+    @ApiModelProperty("杩涚矇")
+    private Integer fansAdd;
+
+    @ValueTableShow(5)
+    @ApiModelProperty("瀹㈡埛鎴愭湰")
+    private BigDecimal customerCosts;
+
+}
diff --git a/data-server/src/main/java/com/yuanchu/mom/dto/RegistrantCountDto.java b/data-server/src/main/java/com/yuanchu/mom/dto/RegistrantCountDto.java
new file mode 100644
index 0000000..f76e2be
--- /dev/null
+++ b/data-server/src/main/java/com/yuanchu/mom/dto/RegistrantCountDto.java
@@ -0,0 +1,149 @@
+package com.yuanchu.mom.dto;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class RegistrantCountDto extends OrderBy implements Serializable {
+
+    /**
+     * 鐧昏浜�
+     */
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("鐧昏浜�")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ValueTableShow(3)
+    private String registrant;
+    /**
+     * 閮ㄩ棬
+     */
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("閮ㄩ棬")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ValueTableShow(2)
+    private String department;
+    /**
+     * 璐︽埛鍚�
+     */
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("璐︽埛鍚�")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ValueTableShow(5)
+    private String name;
+    /**
+     * 椤圭洰
+     */
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("椤圭洰")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ValueTableShow(4)
+    private String product;
+    /**
+     * 灞曠幇閲�
+     */
+    @ApiModelProperty("灞曠幇閲�")
+    @ValueTableShow(6)
+    private Integer show;
+    /**
+     * 鐐瑰嚮閲�
+     */
+    @ApiModelProperty("鐐瑰嚮閲�")
+    @ValueTableShow(7)
+    private Integer click;
+    /**
+     * 璐︽埛娑堣垂
+     */
+    @ApiModelProperty("璐︽埛娑堣垂")
+    @ValueTableShow(8)
+    private BigDecimal accountConsumption;
+    /**
+     * 瀹㈡埛杩旂偣娑堣垂
+     */
+    @ApiModelProperty("瀹㈡埛杩旂偣娑堣垂")
+    @ValueTableShow(9)
+    private BigDecimal rebateConsumption;
+    /**
+     * 娑堣垂
+     */
+    @ApiModelProperty("鎶ュ鎴锋秷璐�")
+    @ValueTableShow(10)
+    private BigDecimal rebateConsumption2;
+    /**
+     * 鎶樺悗娑堣垂
+     */
+    @ApiModelProperty("鎶樺悗娑堣垂")
+    @ValueTableShow(11)
+    private BigDecimal discountedConsumption;
+    /**
+     * 杩涚矇
+     */
+    @ApiModelProperty("杩涚矇")
+    @ValueTableShow(12)
+    private Integer fansAdd;
+    /**
+     * 瀹為檯鎴愭湰
+     */
+    @ApiModelProperty("瀹為檯鎴愭湰")
+    @ValueTableShow(13)
+    private BigDecimal actualCost;
+    /**
+     * 瀹㈡埛鎴愭湰
+     */
+    @ApiModelProperty("瀹㈡埛鎴愭湰")
+    @ValueTableShow(14)
+    private BigDecimal customerCosts;
+    /**
+     * 鍒╂鼎
+     */
+    @ApiModelProperty("鍒╂鼎")
+    @ValueTableShow(15)
+    private BigDecimal profit;
+    /**
+     * 浠g悊杩旂偣
+     */
+    @ApiModelProperty("浠g悊杩旂偣")
+    @ValueTableShow(16)
+    private BigDecimal agentRebate;
+    /**
+     * 瀹㈡埛杩旂偣
+     */
+    @ApiModelProperty("瀹㈡埛杩旂偣")
+    @ValueTableShow(17)
+    private BigDecimal customerRebate;
+    /**
+     * 澶囩敤瀛楁
+     */
+    @ApiModelProperty("澶囩敤瀛楁")
+    @ValueTableShow(18)
+    private BigDecimal remark;
+    /**
+     *
+     */
+    @ApiModelProperty("鐧昏鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+    /**
+     *
+     */
+    @ApiModelProperty("绯荤粺鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ValueTableShow(1)
+    private LocalDateTime updateTime;
+
+}
diff --git a/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java b/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java
index 9c1f08c..a594ccb 100644
--- a/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java
+++ b/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yuanchu.mom.dto.DataReportingPageDto;
+import com.yuanchu.mom.dto.ProductCountDto;
+import com.yuanchu.mom.dto.RegistrantCountDto;
 import com.yuanchu.mom.pojo.DataReporting;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -16,6 +18,10 @@
 
     IPage<DataReportingPageDto> selectDataReportingDtoPageList(IPage<DataReportingPageDto> page, QueryWrapper<DataReportingPageDto> ew);
 
+    IPage<ProductCountDto> selectProductCountDtoPageList(IPage<ProductCountDto> page, QueryWrapper<ProductCountDto> ew);
+
+    IPage<RegistrantCountDto> selectRegistrantCountDtoPageList(IPage<RegistrantCountDto> page, QueryWrapper<RegistrantCountDto> ew);
+
 }
 
 
diff --git a/data-server/src/main/java/com/yuanchu/mom/mapper/FansSubmitMapper.java b/data-server/src/main/java/com/yuanchu/mom/mapper/FansSubmitMapper.java
new file mode 100644
index 0000000..bbaba54
--- /dev/null
+++ b/data-server/src/main/java/com/yuanchu/mom/mapper/FansSubmitMapper.java
@@ -0,0 +1,22 @@
+package com.yuanchu.mom.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.pojo.FansSubmit;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恌ans_sumbit(杩涚矇涓婃姤)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2023-12-25 00:36:16
+* @Entity com.yuanchu.mom.pojo.FansSumbit
+*/
+public interface FansSubmitMapper extends BaseMapper<FansSubmit> {
+
+    IPage<FansSubmit> selectFansSubmitPageList(IPage<FansSubmit> page, QueryWrapper<FansSubmit> ew);
+
+}
+
+
+
+
diff --git a/data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java b/data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java
index 232eb34..ee8268a 100644
--- a/data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java
+++ b/data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java
@@ -10,7 +10,9 @@
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yuanchu.mom.annotation.ValueTableShow;
 import com.yuanchu.mom.common.OrderBy;
@@ -34,6 +36,7 @@
     */
     @NotNull(message="[]涓嶈兘涓虹┖")
     @ApiModelProperty("涓婚敭")
+    @TableId(type = IdType.AUTO)
     private Integer id;
     /**
      * 鐧昏浜�
@@ -181,13 +184,15 @@
     @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
     @ApiModelProperty("鍒涘缓鐢ㄦ埛")
     @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
-    private String createUser;
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
     /**
     * 
     */
     @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
     @ApiModelProperty("鏇存柊鐢ㄦ埛")
     @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
-    private String updateUser;
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
 
 }
diff --git a/data-server/src/main/java/com/yuanchu/mom/pojo/FansSubmit.java b/data-server/src/main/java/com/yuanchu/mom/pojo/FansSubmit.java
new file mode 100644
index 0000000..a0dc70f
--- /dev/null
+++ b/data-server/src/main/java/com/yuanchu/mom/pojo/FansSubmit.java
@@ -0,0 +1,100 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+
+/**
+ * 杩涚矇涓婃姤
+ * @TableName fans_submit
+ */
+@TableName(value ="fans_submit")
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FansSubmit extends OrderBy implements Serializable {
+
+    /**
+    * 涓婚敭
+    */
+    @NotNull(message="[涓婚敭]涓嶈兘涓虹┖")
+    @ApiModelProperty("涓婚敭")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+    /**
+    * 瀹㈡埛
+    */
+    @ValueTableShow(1)
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("瀹㈡埛")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    private String custom;
+    /**
+    * 椤圭洰
+    */
+    @ValueTableShow(2)
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("椤圭洰")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    private String product;
+    /**
+    * 寰俊鍙�
+    */
+    @ValueTableShow(3)
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("寰俊鍙�")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    private String vx;
+    /**
+    * 杩涚矇
+    */
+    @ValueTableShow(4)
+    @ApiModelProperty("杩涚矇")
+    private Integer fansAdd;
+    /**
+    * 鍒涘缓鏃堕棿
+    */
+    @ApiModelProperty("鐧昏鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ValueTableShow(6)
+    private LocalDateTime createTime;
+    /**
+     *
+     */
+    @ApiModelProperty("鏇存柊鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+    /**
+     *
+     */
+    @ApiModelProperty("鐧昏浜篿d")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ValueTableShow(5)
+    @ApiModelProperty("鐧昏浜�")
+    private String createUserName;
+    /**
+     *
+     */
+    @ApiModelProperty("鏇存柊鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+}
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java b/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
index 19e56c8..f175a0b 100644
--- a/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
+++ b/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
@@ -2,6 +2,8 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yuanchu.mom.dto.DataReportingPageDto;
+import com.yuanchu.mom.dto.ProductCountDto;
+import com.yuanchu.mom.dto.RegistrantCountDto;
 import com.yuanchu.mom.pojo.DataReporting;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -18,4 +20,8 @@
 
     int updateDataReporting(DataReporting dataReporting);
 
+    Map<String, Object> selectProductCountDtoPageList(IPage<ProductCountDto> page, ProductCountDto productCountDto);
+
+    Map<String, Object> selectRegistrantCountDtoPageList(IPage<RegistrantCountDto> page, RegistrantCountDto registrantCountDto);
+
 }
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/FansSubmitService.java b/data-server/src/main/java/com/yuanchu/mom/service/FansSubmitService.java
new file mode 100644
index 0000000..6e7653c
--- /dev/null
+++ b/data-server/src/main/java/com/yuanchu/mom/service/FansSubmitService.java
@@ -0,0 +1,25 @@
+package com.yuanchu.mom.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.dto.DataReportingPageDto;
+import com.yuanchu.mom.pojo.FansSubmit;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恌ans_sumbit(杩涚矇涓婃姤)銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2023-12-25 00:36:16
+*/
+public interface FansSubmitService extends IService<FansSubmit> {
+
+    Map<String, Object> selectFansSubmitList(IPage<FansSubmit> page, FansSubmit fansSubmit);
+
+    int delFansSubmit(Integer id);
+
+    int updateFansSubmit(FansSubmit fansSubmit);
+
+    int addFansSubmit(FansSubmit fansSubmit);
+
+}
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
index afd5c7d..508dd54 100644
--- a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
+++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.common.PrintChina;
 import com.yuanchu.mom.dto.DataReportingPageDto;
+import com.yuanchu.mom.dto.ProductCountDto;
+import com.yuanchu.mom.dto.RegistrantCountDto;
 import com.yuanchu.mom.pojo.DataReporting;
 import com.yuanchu.mom.service.DataReportingService;
 import com.yuanchu.mom.mapper.DataReportingMapper;
@@ -49,6 +51,22 @@
         System.out.println(dataReporting2);
         return dataReportingMapper.updateById(dataReporting2);
     }
+
+    @Override
+    public Map<String, Object> selectProductCountDtoPageList(IPage<ProductCountDto> page, ProductCountDto productCountDto) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(ProductCountDto.class));
+        map.put("body", dataReportingMapper.selectProductCountDtoPageList(page, QueryWrappers.queryWrappers(productCountDto)));
+        return map;
+    }
+
+    @Override
+    public Map<String, Object> selectRegistrantCountDtoPageList(IPage<RegistrantCountDto> page, RegistrantCountDto registrantCountDto) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(RegistrantCountDto.class));
+        map.put("body", dataReportingMapper.selectRegistrantCountDtoPageList(page, QueryWrappers.queryWrappers(registrantCountDto)));
+        return map;
+    }
 }
 
 
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java
new file mode 100644
index 0000000..e1b3b37
--- /dev/null
+++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java
@@ -0,0 +1,55 @@
+package com.yuanchu.mom.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.dto.DataReportingPageDto;
+import com.yuanchu.mom.pojo.FansSubmit;
+import com.yuanchu.mom.service.FansSubmitService;
+import com.yuanchu.mom.mapper.FansSubmitMapper;
+import com.yuanchu.mom.utils.QueryWrappers;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Administrator
+ * @description 閽堝琛ㄣ�恌ans_sumbit(杩涚矇涓婃姤)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+ * @createDate 2023-12-25 00:36:16
+ */
+@Service
+@AllArgsConstructor
+public class FansSubmitServiceImpl extends ServiceImpl<FansSubmitMapper, FansSubmit>
+        implements FansSubmitService {
+
+    private FansSubmitMapper fansSubmitMapper;
+
+    @Override
+    public Map<String, Object> selectFansSubmitList(IPage<FansSubmit> page, FansSubmit fansSubmit) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(FansSubmit.class));
+        map.put("body", fansSubmitMapper.selectFansSubmitPageList(page, QueryWrappers.queryWrappers(fansSubmit)));
+        return map;
+    }
+
+    @Override
+    public int delFansSubmit(Integer id) {
+        return fansSubmitMapper.deleteById(id);
+    }
+
+    @Override
+    public int updateFansSubmit(FansSubmit fansSubmit) {
+        return fansSubmitMapper.updateById(fansSubmit);
+    }
+
+    @Override
+    public int addFansSubmit(FansSubmit fansSubmit) {
+        return fansSubmitMapper.insert(fansSubmit);
+    }
+}
+
+
+
+
diff --git a/data-server/src/main/resources/mapper/DataReportingMapper.xml b/data-server/src/main/resources/mapper/DataReportingMapper.xml
index abbdd78..2d5c698 100644
--- a/data-server/src/main/resources/mapper/DataReportingMapper.xml
+++ b/data-server/src/main/resources/mapper/DataReportingMapper.xml
@@ -31,17 +31,6 @@
             <result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
     </resultMap>
 
-    <sql id="Base_Column_List">
-        id,department,registrant,
-        product,channel,name,
-        show,click,account_consumption,
-        rebate_consumption,consumption,discounted_consumption,
-        fans_add,actual_cost,internal_costs,
-        customer_costs,profit,agent_rebate,
-        customer_rebate,remark,create_time,
-        update_time,create_user,update_user
-    </sql>
-
     <select id="selectDataReportingDtoPageList" resultType="com.yuanchu.mom.dto.DataReportingPageDto">
         select * from (
         select dr.*,u1.name create_user_name,u2.name update_user_name from data_reporting dr
@@ -52,4 +41,24 @@
             ${ew.customSqlSegment}
         </if>
     </select>
+    <select id="selectProductCountDtoPageList" resultType="com.yuanchu.mom.dto.ProductCountDto">
+        select * from (
+        select update_time, create_time, product, sum(consumption) consumption, sum(fans_add) fans_add, sum(customer_costs) customer_costs
+        from data_reporting
+        group by product
+        ) a
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
+    <select id="selectRegistrantCountDtoPageList" resultType="com.yuanchu.mom.dto.RegistrantCountDto">
+        select * from (
+        select id, department, registrant, product, name, sum(`show`) `show`, sum(click) click, sum(account_consumption)account_consumption, sum(rebate_consumption) rebate_consumption,(sum(rebate_consumption)+sum(remark)) rebate_consumption2, sum(discounted_consumption) discounted_consumption, sum(fans_add) fans_add, sum(actual_cost) actual_cost, sum(customer_costs) customer_costs, sum(profit) profit, sum(agent_rebate) agent_rebate, sum(customer_rebate) customer_rebate, sum(remark) remark, create_time, update_time
+        from data_reporting
+        group by registrant
+        ) a
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
 </mapper>
diff --git a/data-server/src/main/resources/mapper/FansSubmitMapper.xml b/data-server/src/main/resources/mapper/FansSubmitMapper.xml
new file mode 100644
index 0000000..35b4767
--- /dev/null
+++ b/data-server/src/main/resources/mapper/FansSubmitMapper.xml
@@ -0,0 +1,28 @@
+<?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="com.yuanchu.mom.mapper.FansSubmitMapper">
+
+    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.FansSubmit">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="custom" column="custom" jdbcType="VARCHAR"/>
+            <result property="product" column="product" jdbcType="VARCHAR"/>
+            <result property="vx" column="vx" jdbcType="VARCHAR"/>
+            <result property="fansAdd" column="fans_add" jdbcType="INTEGER"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
+            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
+    </resultMap>
+    <select id="selectFansSubmitPageList" resultType="com.yuanchu.mom.pojo.FansSubmit">
+        select * from (
+            select fm.*, u.name create_user_name from fans_submit fm, user u
+            where fm.create_user = u.id
+        ) a
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
+
+</mapper>
diff --git a/shengyun_2023_12_23_2300.sql b/shengyun_2023_12_23_2300.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/shengyun_2023_12_23_2300.sql
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java b/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java
new file mode 100644
index 0000000..1634464
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java
@@ -0,0 +1,94 @@
+package com.yuanchu.mom.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.pojo.CustomEnum;
+import com.yuanchu.mom.pojo.ProductEnum;
+import com.yuanchu.mom.pojo.Role;
+import com.yuanchu.mom.pojo.User;
+import com.yuanchu.mom.service.CustomEnumService;
+import com.yuanchu.mom.service.ProductEnumService;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.util.DigestUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RequestMapping("/enum")
+@RestController
+@Api(tags = "鏋氫妇妯″潡")
+@AllArgsConstructor
+public class EnumController {
+
+    private CustomEnumService customEnumService;
+
+    private ProductEnumService productEnumService;
+
+    @ApiOperation(value = "鑾峰彇瀹㈡埛鍒楄〃")
+    @PostMapping("/selectCustomEnumLists")
+    public Result selectCustomEnumLists(@RequestBody Map<String, Object> data) throws Exception {
+        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+        CustomEnum customEnum = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), CustomEnum.class);
+        return Result.success(customEnumService.selectCustomEnumList(page, customEnum));
+    }
+
+    @ApiOperation(value = "鑾峰彇瀹㈡埛鍒楄〃鏋氫妇")
+    @GetMapping("/selectCustomEnumList")
+    public Result selectCustomEnumList(){
+        return Result.success(customEnumService.selectList());
+    }
+
+    @ApiOperation(value = "鍒犻櫎瀹㈡埛鍒楄〃")
+    @PostMapping("/delCustomEnum")
+    public Result delRole(Integer id){
+        return Result.success(customEnumService.delCustomEnum(id));
+    }
+
+    @ApiOperation(value = "淇敼瀹㈡埛淇℃伅")
+    @PostMapping("/updateCustomEnum")
+    public Result<?> updateUser(@RequestBody CustomEnum customEnum) {
+        return Result.success(customEnumService.updateCustomEnum(customEnum));
+    }
+
+    @ApiOperation(value = "娣诲姞瀹㈡埛淇℃伅")
+    @PostMapping("/addCustomEnum")
+    public Result<?> addCustomEnum(@RequestBody CustomEnum customEnum) {
+        return Result.success(customEnumService.addCustomEnum(customEnum));
+    }
+
+    @ApiOperation(value = "鑾峰彇椤圭洰鍒楄〃")
+    @PostMapping("/selectProductEnumLists")
+    public Result selectProductEnumLists(@RequestBody Map<String, Object> data) {
+        Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+        ProductEnum productEnum = JSON.parseObject(JSON.toJSONString(data.get("entity")), ProductEnum.class);
+        return Result.success(productEnumService.selectProductEnumList(page, productEnum));
+    }
+
+    @ApiOperation(value = "鑾峰彇椤圭洰鍒楄〃鏋氫妇")
+    @GetMapping("/selectProductEnumList")
+    public Result selectProductEnumList(){
+        return Result.success(productEnumService.selectList());
+    }
+
+    @ApiOperation(value = "鍒犻櫎椤圭洰鍒楄〃")
+    @PostMapping("/delProductEnum")
+    public Result delProductEnum(Integer id){
+        return Result.success(productEnumService.delProductEnum(id));
+    }
+
+    @ApiOperation(value = "淇敼椤圭洰淇℃伅")
+    @PostMapping("/updateProductEnum")
+    public Result<?> updateProductEnum(@RequestBody ProductEnum productEnum) {
+        return Result.success(productEnumService.updateProductEnum(productEnum));
+    }
+
+    @ApiOperation(value = "娣诲姞椤圭洰淇℃伅")
+    @PostMapping("/addProductEnum")
+    public Result<?> addProductEnum(@RequestBody ProductEnum productEnum) {
+        return Result.success(productEnumService.addProductEnum(productEnum));
+    }
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java b/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java
index acf7e33..4142e36 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.dto.UserPageDto;
+import com.yuanchu.mom.pojo.CustomEnum;
 import com.yuanchu.mom.pojo.Role;
 import com.yuanchu.mom.pojo.User;
 import com.yuanchu.mom.service.RoleService;
@@ -47,4 +48,10 @@
     public Result delRole(Integer id){
         return Result.success(roleService.delRole(id));
     }
+
+    @ApiOperation(value = "娣诲姞瑙掕壊淇℃伅")
+    @PostMapping("/addRole")
+    public Result<?> addRole(@RequestBody Role role) {
+        return Result.success(roleService.addRole(role));
+    }
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/CustomEnumMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/CustomEnumMapper.java
new file mode 100644
index 0000000..4e566b5
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/CustomEnumMapper.java
@@ -0,0 +1,18 @@
+package com.yuanchu.mom.mapper;
+
+import com.yuanchu.mom.pojo.CustomEnum;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恈ustom_enum銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2023-12-24 14:40:43
+* @Entity com.yuanchu.mom.pojo.CustomEnum
+*/
+public interface CustomEnumMapper extends BaseMapper<CustomEnum> {
+
+}
+
+
+
+
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/ProductEnumMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/ProductEnumMapper.java
new file mode 100644
index 0000000..9028c95
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/ProductEnumMapper.java
@@ -0,0 +1,18 @@
+package com.yuanchu.mom.mapper;
+
+import com.yuanchu.mom.pojo.ProductEnum;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恜roduct_enum(椤圭洰鏋氫妇)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2023-12-24 15:46:30
+* @Entity com.yuanchu.mom.pojo.ProductEnum
+*/
+public interface ProductEnumMapper extends BaseMapper<ProductEnum> {
+
+}
+
+
+
+
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/CustomEnum.java b/user-server/src/main/java/com/yuanchu/mom/pojo/CustomEnum.java
new file mode 100644
index 0000000..494b68a
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/CustomEnum.java
@@ -0,0 +1,81 @@
+package com.yuanchu.mom.pojo;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+import javax.validation.constraints.NotNull;
+
+import java.io.Serializable;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.hibernate.validator.constraints.Length;
+
+/**
+* 
+* @TableName custom_enum
+*/
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class CustomEnum extends OrderBy implements Serializable {
+
+    /**
+    * 涓婚敭
+    */
+    @NotNull(message="[涓婚敭]涓嶈兘涓虹┖")
+    @ApiModelProperty("涓婚敭")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+    /**
+    * 瀹㈡埛鍚嶇О
+    */
+    @ValueTableShow(1)
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("瀹㈡埛鍚嶇О")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    private String name;
+    /**
+    * 鍏徃
+    */
+    @ValueTableShow(2)
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("鍏徃")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    private String company;
+
+    @ValueTableShow(3)
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @ValueTableShow(4)
+    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/ProductEnum.java b/user-server/src/main/java/com/yuanchu/mom/pojo/ProductEnum.java
new file mode 100644
index 0000000..278f955
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/ProductEnum.java
@@ -0,0 +1,77 @@
+package com.yuanchu.mom.pojo;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+import javax.validation.constraints.NotNull;
+
+import java.io.Serializable;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.hibernate.validator.constraints.Length;
+
+/**
+* 椤圭洰鏋氫妇
+* @TableName product_enum
+*/
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProductEnum extends OrderBy implements Serializable {
+
+    /**
+    * 涓婚敭
+    */
+    @NotNull(message="[涓婚敭]涓嶈兘涓虹┖")
+    @ApiModelProperty("涓婚敭")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+    /**
+    * 椤圭洰
+    */
+    @ValueTableShow(1)
+    @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    @ApiModelProperty("椤圭洰")
+    @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
+    private String product;
+    /**
+    * 鍒涘缓鏃堕棿
+    */
+    @ValueTableShow(2)
+    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+    /**
+    * 鏇存柊鏃堕棿
+    */
+    @ValueTableShow(3)
+    @ApiModelProperty("鏇存柊鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+    /**
+    *
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+    /**
+    *
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java
index 1a61592..dd691d7 100644
--- a/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java
@@ -1,7 +1,9 @@
 package com.yuanchu.mom.pojo;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yuanchu.mom.annotation.ValueTableShow;
 import com.yuanchu.mom.common.OrderBy;
@@ -20,6 +22,7 @@
 public class Role extends OrderBy implements Serializable {
 
     @ApiModelProperty(value = "涓婚敭")
+    @TableId(type = IdType.AUTO)
     private Integer id;
 
     @ValueTableShow(1)
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/CustomEnumService.java b/user-server/src/main/java/com/yuanchu/mom/service/CustomEnumService.java
new file mode 100644
index 0000000..5086b3c
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/service/CustomEnumService.java
@@ -0,0 +1,31 @@
+package com.yuanchu.mom.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.pojo.CustomEnum;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.mom.pojo.Role;
+import com.yuanchu.mom.pojo.User;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恈ustom_enum銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2023-12-24 14:40:43
+*/
+
+
+public interface CustomEnumService {
+
+    Map<String, Object> selectCustomEnumList(IPage<CustomEnum> page, CustomEnum customEnum);
+
+    List<CustomEnum> selectList();
+
+    int delCustomEnum(Integer id);
+
+    int updateCustomEnum(CustomEnum customEnum);
+
+    int addCustomEnum(CustomEnum customEnum);
+
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/ProductEnumService.java b/user-server/src/main/java/com/yuanchu/mom/service/ProductEnumService.java
new file mode 100644
index 0000000..f13c972
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/service/ProductEnumService.java
@@ -0,0 +1,28 @@
+package com.yuanchu.mom.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.pojo.ProductEnum;
+import com.yuanchu.mom.pojo.ProductEnum;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恜roduct_enum(椤圭洰鏋氫妇)銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2023-12-24 15:46:30
+*/
+public interface ProductEnumService extends IService<ProductEnum> {
+
+    Map<String, Object> selectProductEnumList(IPage<ProductEnum> page, ProductEnum productEnum);
+
+    List<ProductEnum> selectList();
+
+    int delProductEnum(Integer id);
+
+    int updateProductEnum(ProductEnum productEnum);
+
+    int addProductEnum(ProductEnum productEnum);
+
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java b/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java
index 534f107..41e8a3b 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java
@@ -16,4 +16,6 @@
 
     int delRole(Integer id);
 
+    int addRole(Role role);
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java
new file mode 100644
index 0000000..eb01451
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java
@@ -0,0 +1,50 @@
+package com.yuanchu.mom.service.imp;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.mapper.CustomEnumMapper;
+import com.yuanchu.mom.pojo.CustomEnum;
+import com.yuanchu.mom.pojo.Role;
+import com.yuanchu.mom.service.CustomEnumService;
+import com.yuanchu.mom.utils.QueryWrappers;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@AllArgsConstructor
+public class CustomEnumServiceImp implements CustomEnumService {
+
+    private CustomEnumMapper customEnumMapper;
+
+    @Override
+    public Map<String, Object> selectCustomEnumList(IPage<CustomEnum> page, CustomEnum customEnum) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(CustomEnum.class));
+        map.put("body", customEnumMapper.selectPage(page, QueryWrappers.queryWrappers(customEnum)));
+        return map;
+    }
+
+    @Override
+    public List<CustomEnum> selectList() {
+        return customEnumMapper.selectList(null);
+    }
+
+    @Override
+    public int delCustomEnum(Integer id) {
+        return customEnumMapper.deleteById(id);
+    }
+
+    @Override
+    public int updateCustomEnum(CustomEnum customEnum) {
+        return customEnumMapper.updateById(customEnum);
+    }
+
+    @Override
+    public int addCustomEnum(CustomEnum customEnum) {
+        return customEnumMapper.insert(customEnum);
+    }
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java
new file mode 100644
index 0000000..fb9bfa4
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java
@@ -0,0 +1,63 @@
+package com.yuanchu.mom.service.imp;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.mapper.ProductEnumMapper;
+import com.yuanchu.mom.pojo.ProductEnum;
+import com.yuanchu.mom.pojo.ProductEnum;
+import com.yuanchu.mom.service.ProductEnumService;
+import com.yuanchu.mom.mapper.ProductEnumMapper;
+import com.yuanchu.mom.utils.QueryWrappers;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恜roduct_enum(椤圭洰鏋氫妇)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2023-12-24 15:46:30
+*/
+@Service
+@AllArgsConstructor
+public class ProductEnumServiceImpl extends ServiceImpl<ProductEnumMapper, ProductEnum>
+    implements ProductEnumService{
+
+    private ProductEnumMapper productEnumMapper;
+
+    @Override
+    public Map<String, Object> selectProductEnumList(IPage<ProductEnum> page, ProductEnum productEnum) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(ProductEnum.class));
+        map.put("body", productEnumMapper.selectPage(page, QueryWrappers.queryWrappers(productEnum)));
+        return map;
+    }
+
+    @Override
+    public List<ProductEnum> selectList() {
+        return productEnumMapper.selectList(null);
+    }
+
+    @Override
+    public int delProductEnum(Integer id) {
+        return productEnumMapper.deleteById(id);
+    }
+
+    @Override
+    public int updateProductEnum(ProductEnum productEnum) {
+        return productEnumMapper.updateById(productEnum);
+    }
+
+    @Override
+    public int addProductEnum(ProductEnum productEnum) {
+        return productEnumMapper.insert(productEnum);
+    }
+    
+}
+
+
+
+
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
index 9edb882..307ae3e 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
@@ -43,4 +43,9 @@
     public int delRole(Integer id) {
         return roleMapper.deleteById(id);
     }
+
+    @Override
+    public int addRole(Role role) {
+        return roleMapper.insert(role);
+    }
 }
diff --git a/user-server/src/main/resources/mapper/CustomEnumMapper.xml b/user-server/src/main/resources/mapper/CustomEnumMapper.xml
new file mode 100644
index 0000000..599817e
--- /dev/null
+++ b/user-server/src/main/resources/mapper/CustomEnumMapper.xml
@@ -0,0 +1,22 @@
+<?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="com.yuanchu.mom.mapper.CustomEnumMapper">
+
+    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.CustomEnum">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="company" column="company" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
+            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,name,company,
+        create_time,update_time,create_user,
+        update_user
+    </sql>
+</mapper>
diff --git a/user-server/src/main/resources/mapper/ProductEnumMapper.xml b/user-server/src/main/resources/mapper/ProductEnumMapper.xml
new file mode 100644
index 0000000..b2c773c
--- /dev/null
+++ b/user-server/src/main/resources/mapper/ProductEnumMapper.xml
@@ -0,0 +1,20 @@
+<?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="com.yuanchu.mom.mapper.ProductEnumMapper">
+
+    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ProductEnum">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="name" column="name" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
+            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,name,create_time,
+        update_time,create_user,update_user
+    </sql>
+</mapper>

--
Gitblit v1.9.3