From eb80b83a3d4a0b59325e90405dc6c687c2904d3a Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期三, 05 一月 2022 14:45:16 +0800
Subject: [PATCH] 商家后台相关代码提交

---
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsProductDTO.java         |   48 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsInformationVO.java       |    2 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/PageMcsProductDTO.java     |   39 +
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsEvaluateMapper.xml                                               |   22 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsMerchantVO.java          |    8 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsMerchant.java                         |    4 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsGameServiceImpl.java            |  195 ++++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsMerchantMapper.xml                                               |    4 
 springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/MicroCommercialStreetApi.java                     |  227 +++++++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/PageMcsEvaluateDTO.java    |   33 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java                               |  139 ++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsProductServiceImpl.java         |  178 +++++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsInfoDTO.java            |   57 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsGameVO.java              |    3 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java     |  156 ++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsMerchantServiceImpl.java        |   28 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsEvaluateServiceImpl.java        |   42 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsProductVO.java           |   48 +
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsInformation.java                      |    9 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsProduct.java                          |    7 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsEvaluateVO.java          |   45 +
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsGameService.java                     |   38 +
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsEvaluateService.java                 |   22 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/MicroCommercialStreetApi.java               |  185 +++++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/SetShelfForProductDTO.java |   33 +
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsProductDAO.java                          |   11 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsProductService.java                  |   39 +
 springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/MicroCommercialStreetApi.java               |   20 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsEvaluateDAO.java                         |   18 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsInformationService.java              |   30 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsGameMapper.xml                                                   |   21 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsInformationDAO.java                      |   11 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsInformationMapper.xml                                            |   14 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/TopStatisticsVO.java        |   34 +
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsGameDTO.java            |   83 ++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsProductMapper.xml                                                |   15 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsGameDAO.java                             |   21 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsGame.java                             |   15 
 38 files changed, 1,890 insertions(+), 14 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/MicroCommercialStreetApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/MicroCommercialStreetApi.java
index 89e3c63..be389a2 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/MicroCommercialStreetApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/MicroCommercialStreetApi.java
@@ -5,6 +5,8 @@
 import javax.annotation.Resource;
 import javax.validation.Valid;
 
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsEvaluateDTO;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsEvaluateVO;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -148,4 +150,22 @@
     public R deleteMcsInfo(@RequestParam("infoId") Long infoId) {
         return communityService.deleteMcsInfo(infoId, this.getUserId());
     }
+
+    @ApiOperation(value = "分页查询评价记录", response = McsEvaluateVO.class)
+    @PostMapping("/evaluate/page")
+    public R pageMcsEvaluate(@RequestBody @Valid PageMcsEvaluateDTO pageMcsEvaluateDTO) {
+        return communityService.pageMcsEvaluate(pageMcsEvaluateDTO);
+    }
+
+    @ApiOperation(value = "查询评价记录详情", response = McsEvaluateVO.class)
+    @GetMapping("/evaluate/get")
+    public R getMcsEvaluate(@RequestParam("evaluateId") Long evaluateId) {
+        return communityService.getMcsEvaluate(evaluateId);
+    }
+
+    @ApiOperation(value = "删除评价记录")
+    @DeleteMapping("/evaluate/delete")
+    public R deleteMcsEvaluate(@RequestParam("evaluateId") Long evaluateId) {
+        return communityService.deleteMcsEvaluate(evaluateId);
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsGameDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsGameDTO.java
new file mode 100644
index 0000000..332fb3c
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsGameDTO.java
@@ -0,0 +1,83 @@
+package com.panzhihua.common.model.dtos.community.microCommercialStreet;
+
+import java.util.Date;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import com.panzhihua.common.validated.AddGroup;
+import com.panzhihua.common.validated.PutGroup;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @title: McsGameDTO
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 新增/编辑戳戳游戏
+ * @author: hans
+ * @date: 2021/12/31 15:42
+ */
+@Data
+@ApiModel("新增/编辑戳戳游戏")
+public class McsGameDTO {
+
+    @ApiModelProperty("游戏ID")
+    @NotNull(groups = {PutGroup.class}, message = "游戏ID不能为空")
+    private Long id;
+
+    @ApiModelProperty("游戏名称")
+    @NotBlank(groups = {AddGroup.class}, message = "游戏名称不能为空")
+    private String name;
+
+    @ApiModelProperty("戳戳卷数量")
+    @NotNull(groups = {AddGroup.class}, message = "戳戳卷数量不能为空")
+    private Integer coupons;
+
+    @ApiModelProperty("游戏类别(1.戳戳币游戏 2.体验游戏)")
+    @NotNull(groups = {AddGroup.class}, message = "游戏类别不能为空")
+    private Integer type;
+
+    @ApiModelProperty("奖励类型(1.免费产品 2.免费服务)")
+    private Integer awardType;
+
+    @ApiModelProperty("戳戳币分配方式(1.随机分配 2.平均分配)")
+    private Integer allocation;
+
+    @ApiModelProperty("戳戳币总额")
+    private Integer coins;
+
+    @ApiModelProperty("地址")
+    @NotBlank(groups = {AddGroup.class}, message = "地址不能为空")
+    private String address;
+
+    @ApiModelProperty("纬度")
+    @NotBlank(groups = {AddGroup.class}, message = "纬度不能为空")
+    private String lat;
+
+    @ApiModelProperty("经度")
+    @NotBlank(groups = {AddGroup.class}, message = "经度不能为空")
+    private String lon;
+
+    @ApiModelProperty("失效时间")
+    @NotNull(groups = {AddGroup.class}, message = "失效时间不能为空")
+    private Date expireAt;
+
+    @ApiModelProperty("封面")
+    @NotBlank(groups = {AddGroup.class}, message = "封面不能为空")
+    private String cover;
+
+    @ApiModelProperty("其他图片(多张图片以逗号隔开)")
+    private String otherImages;
+
+    @ApiModelProperty("游戏介绍")
+    @NotBlank(groups = {AddGroup.class}, message = "游戏介绍不能为空")
+    private String introduction;
+
+    @ApiModelProperty(value = "创建人", hidden = true)
+    private Long createdBy;
+
+    @ApiModelProperty(value = "更新人", hidden = true)
+    private Long updatedBy;
+}
\ No newline at end of file
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsInfoDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsInfoDTO.java
new file mode 100644
index 0000000..5769158
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsInfoDTO.java
@@ -0,0 +1,57 @@
+package com.panzhihua.common.model.dtos.community.microCommercialStreet;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import com.panzhihua.common.validated.AddGroup;
+import com.panzhihua.common.validated.PutGroup;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @title: McsInfoDTO
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 新增/编辑戳戳资讯
+ * @author: hans
+ * @date: 2022/01/05 10:06
+ */
+@Data
+@ApiModel("新增/编辑戳戳资讯")
+public class McsInfoDTO {
+
+    @ApiModelProperty("资讯ID")
+    @NotNull(groups = {PutGroup.class}, message = "资讯ID不能为空")
+    private Long id;
+
+    @ApiModelProperty("资讯标题")
+    @NotBlank(groups = {AddGroup.class}, message = "资讯标题不能为空")
+    private String name;
+
+    @ApiModelProperty("地址")
+    @NotBlank(groups = {AddGroup.class}, message = "地址不能为空")
+    private String address;
+
+    @ApiModelProperty("纬度")
+    @NotBlank(groups = {AddGroup.class}, message = "纬度不能为空")
+    private String lat;
+
+    @ApiModelProperty("经度")
+    @NotBlank(groups = {AddGroup.class}, message = "经度不能为空")
+    private String lon;
+
+    @ApiModelProperty("封面")
+    @NotBlank(groups = {AddGroup.class}, message = "封面不能为空")
+    private String cover;
+
+    @ApiModelProperty("资讯内容")
+    @NotBlank(groups = {AddGroup.class}, message = "资讯内容不能为空")
+    private String content;
+
+    @ApiModelProperty(value = "创建人", hidden = true)
+    private Long createdBy;
+
+    @ApiModelProperty(value = "更新人", hidden = true)
+    private Long updatedBy;
+}
\ No newline at end of file
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsProductDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsProductDTO.java
new file mode 100644
index 0000000..7cf3052
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/McsProductDTO.java
@@ -0,0 +1,48 @@
+package com.panzhihua.common.model.dtos.community.microCommercialStreet;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import com.panzhihua.common.validated.AddGroup;
+import com.panzhihua.common.validated.PutGroup;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @title: McsProductDTO
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 新增/编辑产品信息
+ * @author: hans
+ * @date: 2022/01/05 11:25
+ */
+@Data
+@ApiModel("新增/编辑产品信息")
+public class McsProductDTO {
+
+    @ApiModelProperty("产品ID")
+    @NotNull(groups = {PutGroup.class}, message = "产品ID不能为空")
+    private Long id;
+
+    @ApiModelProperty("产品名称")
+    @NotBlank(groups = {AddGroup.class}, message = "产品名称不能为空")
+    private String name;
+
+    @ApiModelProperty("产品图片")
+    private String image;
+
+    @ApiModelProperty("产品介绍")
+    private String introduction;
+
+    @ApiModelProperty("产品标签id列表")
+    private List<Long> labelIds;
+
+    @ApiModelProperty(value = "创建人", hidden = true)
+    private Long createdBy;
+
+    @ApiModelProperty(value = "更新人", hidden = true)
+    private Long updatedBy;
+}
\ No newline at end of file
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/PageMcsEvaluateDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/PageMcsEvaluateDTO.java
new file mode 100644
index 0000000..be8641f
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/PageMcsEvaluateDTO.java
@@ -0,0 +1,33 @@
+package com.panzhihua.common.model.dtos.community.microCommercialStreet;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @title: PageMcsEvaluateDTO
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 分页查询戳戳评价记录请求参数
+ * @author: hans
+ * @date: 2021/12/31 13:22
+ */
+@Data
+@ApiModel("分页查询戳戳评价记录请求参数")
+public class PageMcsEvaluateDTO {
+
+    @ApiModelProperty("关键词")
+    private String keyword;
+
+    @ApiModelProperty(value = "分页-当前页数", example = "1")
+    @NotNull(message = "分页参数不能为空")
+    @Min(value = 1)
+    private Long pageNum;
+
+    @ApiModelProperty(value = "分页-每页记录数", example = "10")
+    @NotNull(message = "分页参数不能为空")
+    @Min(value = 1)
+    private Long pageSize;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/PageMcsProductDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/PageMcsProductDTO.java
new file mode 100644
index 0000000..a0c2650
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/PageMcsProductDTO.java
@@ -0,0 +1,39 @@
+package com.panzhihua.common.model.dtos.community.microCommercialStreet;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @title: PageMcsProductDTO
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 分页查询产品信息请求参数
+ * @author: hans
+ * @date: 2022/01/05 11:30
+ */
+@Data
+@ApiModel("分页查询产品信息请求参数")
+public class PageMcsProductDTO {
+
+    @ApiModelProperty("关键词")
+    private String keyword;
+
+    @ApiModelProperty("状态(1.上架中 2.已下架)")
+    private Integer status;
+
+    @ApiModelProperty(value = "分页-当前页数", example = "1")
+    @NotNull(message = "分页参数不能为空")
+    @Min(value = 1)
+    private Long pageNum;
+
+    @ApiModelProperty(value = "分页-每页记录数", example = "10")
+    @NotNull(message = "分页参数不能为空")
+    @Min(value = 1)
+    private Long pageSize;
+
+    @ApiModelProperty(value = "用户id", hidden = true)
+    private Long userId;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/SetShelfForProductDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/SetShelfForProductDTO.java
new file mode 100644
index 0000000..b8132b5
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/microCommercialStreet/SetShelfForProductDTO.java
@@ -0,0 +1,33 @@
+package com.panzhihua.common.model.dtos.community.microCommercialStreet;
+
+import java.util.List;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @title: SetShelfForProductDTO
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 上架/下架产品信息请求参数
+ * @author: hans
+ * @date: 2022/01/05 11:27
+ */
+@Data
+@ApiModel("上架/下架产品信息请求参数")
+public class SetShelfForProductDTO {
+
+    @ApiModelProperty(value = "处理类型(1.上架 2.下架)", required = true, allowableValues = "1,2")
+    @NotNull(message = "处理类型不能为空")
+    private Integer type;
+
+    @ApiModelProperty(value = "产品id列表", required = true)
+    @NotEmpty(message = "产品id列表不能为空")
+    private List<Long> productIds;
+
+    @ApiModelProperty(value = "处理人", hidden = true)
+    private Long updatedBy;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsEvaluateVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsEvaluateVO.java
new file mode 100644
index 0000000..5fb8350
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsEvaluateVO.java
@@ -0,0 +1,45 @@
+package com.panzhihua.common.model.vos.community.microCommercialStreet;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @title: McsEvaluateVO
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 戳戳评价记录信息
+ * @author: hans
+ * @date: 2021/12/31 13:19
+ */
+@Data
+@ApiModel("戳戳评价记录信息")
+public class McsEvaluateVO {
+
+    @ApiModelProperty("评价记录id")
+    private Long id;
+
+    @ApiModelProperty("评分(1.差 2.一般 3.还不错 4.很满意 5.强烈推荐)")
+    private Integer star;
+
+    @ApiModelProperty("评价内容")
+    private String content;
+
+    @ApiModelProperty("评价图片(多张逗号隔开)")
+    private String photos;
+
+    @ApiModelProperty("评价时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date createdAt;
+
+    @ApiModelProperty("用户")
+    private String nickName;
+
+    @ApiModelProperty("手机号码")
+    private String phone;
+
+    @ApiModelProperty("评价游戏")
+    private String gameName;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsGameVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsGameVO.java
index 77da505..c6a7644 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsGameVO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsGameVO.java
@@ -2,6 +2,7 @@
 
 import java.util.Date;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -51,6 +52,7 @@
     private String lon;
 
     @ApiModelProperty("失效时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date expireAt;
 
     @ApiModelProperty("封面")
@@ -69,6 +71,7 @@
     private Boolean isPopular;
 
     @ApiModelProperty("发布时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date publishAt;
 
     @ApiModelProperty("所属商家")
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsInformationVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsInformationVO.java
index 09983ec..937388c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsInformationVO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsInformationVO.java
@@ -2,6 +2,7 @@
 
 import java.util.Date;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -42,6 +43,7 @@
     private Integer status;
 
     @ApiModelProperty("发布时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date publishAt;
 
     @ApiModelProperty("所属商家")
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsMerchantVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsMerchantVO.java
index 97113e6..73269c4 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsMerchantVO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsMerchantVO.java
@@ -2,6 +2,7 @@
 
 import java.util.Date;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -39,6 +40,7 @@
     private Integer publishLimit;
 
     @ApiModelProperty("到期时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date expireAt;
 
     @ApiModelProperty("商家地址")
@@ -54,8 +56,12 @@
     private String introduction;
 
     @ApiModelProperty("首次点亮时间")
-    private Date firstLit;
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date firstLitAt;
 
     @ApiModelProperty("账号状态(1.启用 2.禁用)")
     private Integer accountStatus;
+
+    @ApiModelProperty("空闲戳戳点")
+    private Integer idleTotal;
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsProductVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsProductVO.java
new file mode 100644
index 0000000..ccc6c58
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/McsProductVO.java
@@ -0,0 +1,48 @@
+package com.panzhihua.common.model.vos.community.microCommercialStreet;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @title: McsProductVO
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description:
+ * @author: hans
+ * @date: 2022/01/05 11:29
+ */
+@Data
+@ApiModel("产品信息")
+public class McsProductVO {
+
+    @ApiModelProperty("产品id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    @ApiModelProperty("产品名称")
+    private String name;
+
+    @ApiModelProperty("产品图片")
+    private String image;
+
+    @ApiModelProperty("产品介绍")
+    private String introduction;
+
+    @ApiModelProperty("浏览量")
+    private Integer viewNum;
+
+    @ApiModelProperty("状态(1.上架中 2.已下架)")
+    private Integer status;
+
+    @ApiModelProperty("产品标签")
+    private String productLabel;
+
+    @ApiModelProperty("所属商家")
+    private Long merchantId;
+
+    @ApiModelProperty("所属商家名称")
+    private Long merchantName;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/TopStatisticsVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/TopStatisticsVO.java
new file mode 100644
index 0000000..1f5ebe4
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/microCommercialStreet/TopStatisticsVO.java
@@ -0,0 +1,34 @@
+package com.panzhihua.common.model.vos.community.microCommercialStreet;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @title: TopStatisticsVO
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 统计信息
+ * @author: hans
+ * @date: 2022/01/04 17:58
+ */
+@Data
+@ApiModel("统计信息")
+public class TopStatisticsVO {
+
+    @ApiModelProperty("到期时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date expireAt;
+
+    @ApiModelProperty("领取人数")
+    private Integer appliedTotal;
+
+    @ApiModelProperty("核销人数")
+    private Integer verifiedTotal;
+
+    @ApiModelProperty("空闲戳戳点")
+    private Integer idleTotal;
+}
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
index 9316746..e67238b 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -4,13 +4,19 @@
 
 import com.panzhihua.common.model.dtos.PageBaseDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.DisableOrEnableMcsMerchantDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsGameDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsInfoDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsMerchantDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsProductDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsEvaluateDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsInformationDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsMerchantDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsProductDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetPopularForGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForInfoDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForProductDTO;
 import com.panzhihua.common.model.vos.community.microCommercialStreet.McsConfigVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.scheduling.annotation.Async;
@@ -7843,4 +7849,137 @@
      */
     @DeleteMapping("/microcommercialstreet/information/delete")
     R deleteMcsInfo(@RequestParam("infoId") Long infoId, @RequestParam("userId") Long userId);
+
+    /**
+     * 分页查询评价记录
+     * @param pageMcsEvaluateDTO
+     * @return
+     */
+    @PostMapping("/microcommercialstreet/evaluate/page")
+    R pageMcsEvaluate(@RequestBody PageMcsEvaluateDTO pageMcsEvaluateDTO);
+
+    /**
+     * 查询评价记录详情
+     * @param evaluateId
+     * @return
+     */
+    @GetMapping("/microcommercialstreet/evaluate/get")
+    R getMcsEvaluate(@RequestParam("evaluateId") Long evaluateId);
+
+    /**
+     * 删除评价记录
+     * @param evaluateId
+     * @return
+     */
+    @DeleteMapping("/microcommercialstreet/evaluate/delete")
+    R deleteMcsEvaluate(@RequestParam("evaluateId") Long evaluateId);
+
+    /**
+     * 新增戳戳游戏
+     * @param mcsGameDTO
+     * @return
+     */
+    @PostMapping("/microcommercialstreet/game/add")
+    R addMcsGame(@RequestBody McsGameDTO mcsGameDTO);
+
+    /**
+     * 编辑戳戳游戏
+     * @param mcsGameDTO
+     * @return
+     */
+    @PutMapping("/microcommercialstreet/game/put")
+    R putMcsGame(@RequestBody McsGameDTO mcsGameDTO);
+
+    /**
+     * 发布戳戳游戏
+     * @param gameId
+     * @param userId
+     * @return
+     */
+    @GetMapping("/microcommercialstreet/game/publish")
+    R publishMcsGame(@RequestParam("gameId") Long gameId, @RequestParam("userId") Long userId);
+
+    /**
+     * 结束戳戳游戏
+     * @param gameId
+     * @param userId
+     * @return
+     */
+    @GetMapping("/microcommercialstreet/game/finish")
+    R finishMcsGame(@RequestParam("gameId") Long gameId, @RequestParam("userId") Long userId);
+
+    /**
+     * 戳戳游戏/资讯顶部统计数据
+     * @param type
+     * @param userId
+     * @return
+     */
+    @GetMapping("/microcommercialstreet/statistics/top")
+    R getTopStatistics(@RequestParam("type") Integer type, @RequestParam("userId") Long userId);
+
+    /**
+     * 新增戳戳资讯
+     * @param mcsInfoDTO
+     * @return
+     */
+    @PostMapping("/microcommercialstreet/information/add")
+    R addMcsInfo(@RequestBody McsInfoDTO mcsInfoDTO);
+
+    /**
+     * 编辑戳戳资讯
+     * @param mcsInfoDTO
+     * @return
+     */
+    @PutMapping("/microcommercialstreet/information/put")
+    R putMcsInfo(@RequestBody McsInfoDTO mcsInfoDTO);
+
+    /**
+     * 发布戳戳资讯
+     * @param infoId
+     * @param userId
+     * @return
+     */
+    @GetMapping("/microcommercialstreet/information/publish")
+    R publishMcsInfo(@RequestParam("infoId") Long infoId, @RequestParam("userId") Long userId);
+
+    /**
+     * 新增产品信息
+     * @param mcsProductDTO
+     * @return
+     */
+    @PostMapping("/microcommercialstreet/product/add")
+    R addMcsProduct(@RequestBody McsProductDTO mcsProductDTO);
+
+    /**
+     * 编辑产品信息
+     * @param mcsProductDTO
+     * @return
+     */
+    @PutMapping("/microcommercialstreet/product/put")
+    R putMcsProduct(@RequestBody McsProductDTO mcsProductDTO);
+
+    /**
+     * 删除产品信息
+     * @param productId
+     * @param userId
+     * @return
+     */
+    @DeleteMapping("/microcommercialstreet/product/delete")
+    R deleteMcsProduct(@RequestParam("productId") Long productId, @RequestParam("userId") Long userId);
+
+    /**
+     * 上架/下架产品信息
+     * @param setShelfForProductDTO
+     * @return
+     */
+    @PutMapping("/microcommercialstreet/product/setShelf")
+    R setShelfForMcsProduct(@RequestBody SetShelfForProductDTO setShelfForProductDTO);
+
+    /**
+     * 分页查询产品信息
+     * @param pageMcsProductDTO
+     * @return
+     */
+    @PostMapping("/microcommercialstreet/product/page")
+    R pageMcsProduct(@RequestBody PageMcsProductDTO pageMcsProductDTO);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/MicroCommercialStreetApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/MicroCommercialStreetApi.java
index fc55237..9b69c11 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/MicroCommercialStreetApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/MicroCommercialStreetApi.java
@@ -3,17 +3,25 @@
 import javax.annotation.Resource;
 
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.DisableOrEnableMcsMerchantDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsGameDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsInfoDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsProductDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsEvaluateDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsInformationDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsMerchantDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsProductDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetPopularForGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForInfoDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForProductDTO;
 import com.panzhihua.common.model.vos.community.microCommercialStreet.McsConfigVO;
 import com.panzhihua.service_community.service.McsConfigService;
+import com.panzhihua.service_community.service.McsEvaluateService;
 import com.panzhihua.service_community.service.McsGameService;
 import com.panzhihua.service_community.service.McsInformationService;
 import com.panzhihua.service_community.service.McsMerchantService;
+import com.panzhihua.service_community.service.McsProductService;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -54,6 +62,10 @@
     private McsGameService mcsGameService;
     @Resource
     private McsInformationService mcsInformationService;
+    @Resource
+    private McsEvaluateService mcsEvaluateService;
+    @Resource
+    private McsProductService mcsProductService;
 
     /**
      * 新增数字商业街商家
@@ -206,4 +218,177 @@
     public R deleteMcsInfo(@RequestParam("infoId") Long infoId, @RequestParam("userId") Long userId) {
         return mcsInformationService.deleteMcsInfo(infoId, userId);
     }
+
+    /**
+     * 分页查询评价记录
+     * @param pageMcsEvaluateDTO
+     * @return
+     */
+    @PostMapping("/evaluate/page")
+    public R pageMcsEvaluate(@RequestBody PageMcsEvaluateDTO pageMcsEvaluateDTO) {
+        return mcsEvaluateService.pageMcsEvaluate(pageMcsEvaluateDTO);
+    }
+
+    /**
+     * 查询评价记录详情
+     * @param evaluateId
+     * @return
+     */
+    @GetMapping("/evaluate/get")
+    public R getMcsEvaluate(@RequestParam("evaluateId") Long evaluateId) {
+        return mcsEvaluateService.getMcsEvaluate(evaluateId);
+    }
+
+    /**
+     * 删除评价记录
+     * @param evaluateId
+     * @return
+     */
+    @DeleteMapping("/evaluate/delete")
+    public R deleteMcsEvaluate(@RequestParam("evaluateId") Long evaluateId) {
+        return mcsEvaluateService.deleteMcsEvaluate(evaluateId);
+    }
+
+    /**
+     * 新增戳戳游戏
+     * @param mcsGameDTO
+     * @return
+     */
+    @PostMapping("/game/add")
+    public R addMcsGame(@RequestBody McsGameDTO mcsGameDTO) {
+        return mcsGameService.addMcsGame(mcsGameDTO);
+    }
+
+    /**
+     * 编辑戳戳游戏
+     * @param mcsGameDTO
+     * @return
+     */
+    @PutMapping("/game/put")
+    public R putMcsGame(@RequestBody McsGameDTO mcsGameDTO) {
+        return mcsGameService.putMcsGame(mcsGameDTO);
+    }
+
+    /**
+     * 发布戳戳游戏
+     * @param gameId
+     * @param userId
+     * @return
+     */
+    @GetMapping("/game/publish")
+    public R publishMcsGame(@RequestParam("gameId") Long gameId, @RequestParam("userId") Long userId) {
+        return mcsGameService.publishMcsGame(gameId, userId);
+    }
+
+    /**
+     * 结束戳戳游戏
+     * @param gameId
+     * @param userId
+     * @return
+     */
+    @GetMapping("/game/finish")
+    public R finishMcsGame(@RequestParam("gameId") Long gameId, @RequestParam("userId") Long userId) {
+        return mcsGameService.finishMcsGame(gameId, userId);
+    }
+
+    /**
+     * 戳戳游戏/资讯顶部统计数据
+     * @param type
+     * @param userId
+     * @return
+     */
+    @GetMapping("/statistics/top")
+    public R getTopStatistics(@RequestParam("type") Integer type, @RequestParam("userId") Long userId) {
+        if (type.equals(1)) {
+            //戳戳游戏
+            return mcsGameService.getTopStatistics(userId);
+        } else if (type.equals(2)) {
+            //戳戳资讯
+            return mcsInformationService.getTopStatistics(userId);
+        } else {
+            return R.fail("未知错误");
+        }
+    }
+
+    /**
+     * 新增戳戳资讯
+     * @param mcsInfoDTO
+     * @return
+     */
+    @PostMapping("/information/add")
+    public R addMcsInfo(@RequestBody McsInfoDTO mcsInfoDTO) {
+        return mcsInformationService.addMcsInfo(mcsInfoDTO);
+    }
+
+    /**
+     * 编辑戳戳资讯
+     * @param mcsInfoDTO
+     * @return
+     */
+    @PutMapping("/information/put")
+    public R putMcsInfo(@RequestBody McsInfoDTO mcsInfoDTO) {
+        return mcsInformationService.putMcsInfo(mcsInfoDTO);
+    }
+
+    /**
+     * 发布戳戳资讯
+     * @param infoId
+     * @param userId
+     * @return
+     */
+    @GetMapping("/information/publish")
+    public R publishMcsInfo(@RequestParam("infoId") Long infoId, @RequestParam("userId") Long userId) {
+        return mcsInformationService.publishMcsInfo(infoId, userId);
+    }
+
+    /**
+     * 新增产品信息
+     * @param mcsProductDTO
+     * @return
+     */
+    @PostMapping("/product/add")
+    public R addMcsProduct(@RequestBody McsProductDTO mcsProductDTO) {
+        return mcsProductService.addMcsProduct(mcsProductDTO);
+    }
+
+    /**
+     * 编辑产品信息
+     * @param mcsProductDTO
+     * @return
+     */
+    @PutMapping("/product/put")
+    public R putMcsProduct(@RequestBody McsProductDTO mcsProductDTO) {
+        return mcsProductService.putMcsProduct(mcsProductDTO);
+    }
+
+    /**
+     * 删除产品信息
+     * @param productId
+     * @param userId
+     * @return
+     */
+    @DeleteMapping("/product/delete")
+    public R deleteMcsProduct(@RequestParam("productId") Long productId, @RequestParam("userId") Long userId) {
+        return mcsProductService.deleteMcsProduct(productId, userId);
+    }
+
+    /**
+     * 上架/下架产品信息
+     * @param setShelfForProductDTO
+     * @return
+     */
+    @PutMapping("/product/setShelf")
+    public R setShelfForMcsProduct(@RequestBody SetShelfForProductDTO setShelfForProductDTO) {
+        return mcsProductService.setShelfForMcsProduct(setShelfForProductDTO);
+    }
+
+    /**
+     * 分页查询产品信息
+     * @param pageMcsProductDTO
+     * @return
+     */
+    @PostMapping("/product/page")
+    public R pageMcsProduct(@RequestBody PageMcsProductDTO pageMcsProductDTO) {
+        return mcsProductService.pageMcsProduct(pageMcsProductDTO);
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsEvaluateDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsEvaluateDAO.java
index 2fb2d4d..4e87f6b 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsEvaluateDAO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsEvaluateDAO.java
@@ -3,6 +3,10 @@
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsEvaluateDTO;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsEvaluateVO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Mapper;
 import com.panzhihua.service_community.entity.McsEvaluate;
@@ -36,4 +40,18 @@
      */
     int insertOrUpdateBatch(@Param("entities") List<McsEvaluate> entities);
 
+    /**
+     * 分页查询戳戳游戏评价记录
+     * @param page
+     * @param pageMcsEvaluateDTO
+     * @return
+     */
+    IPage<McsEvaluateVO> pageMcsEvaluate(@Param("page") Page page, @Param("pageMcsEvaluateDTO") PageMcsEvaluateDTO pageMcsEvaluateDTO);
+
+    /**
+     * 获取评价详情
+     * @param evaluateId
+     * @return
+     */
+    McsEvaluateVO getMcsEvaluate(@Param("evaluateId") Long evaluateId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsGameDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsGameDAO.java
index 7877dbe..cb1b332 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsGameDAO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsGameDAO.java
@@ -47,4 +47,25 @@
      * @return
      */
     IPage<McsGameVO> pageMcsGame(@Param("page") Page page, @Param("pageMcsGameDTO") PageMcsGameDTO pageMcsGameDTO);
+
+    /**
+     * 查询商家已发布数
+     * @param merchantId
+     * @return
+     */
+    Integer selectPublishCount(@Param("merchantId") Long merchantId);
+
+    /**
+     * 查询商家下已被领取的卷总数
+     * @param merchantId
+     * @return
+     */
+    Integer selectAppliedCount(@Param("merchantId") Long merchantId);
+
+    /**
+     * 查询商家下已被核销的卷总数
+     * @param merchantId
+     * @return
+     */
+    Integer selectVerifiedCount(@Param("merchantId") Long merchantId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsInformationDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsInformationDAO.java
index 2b981bc..ba11bf5 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsInformationDAO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsInformationDAO.java
@@ -3,6 +3,10 @@
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsInformationDTO;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsInformationVO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Mapper;
 import com.panzhihua.service_community.entity.McsInformation;
@@ -36,4 +40,11 @@
      */
     int insertOrUpdateBatch(@Param("entities") List<McsInformation> entities);
 
+    /**
+     * 分页查询资讯
+     * @param page
+     * @param pageMcsInformationDTO
+     * @return
+     */
+    IPage<McsInformationVO> pageMcsInfo(@Param("page") Page page, @Param("pageMcsInformationDTO") PageMcsInformationDTO pageMcsInformationDTO);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsProductDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsProductDAO.java
index c85687c..2c41ef7 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsProductDAO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/McsProductDAO.java
@@ -3,6 +3,10 @@
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsProductDTO;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsProductVO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Mapper;
 import com.panzhihua.service_community.entity.McsProduct;
@@ -36,4 +40,11 @@
      */
     int insertOrUpdateBatch(@Param("entities") List<McsProduct> entities);
 
+    /**
+     * 分页查询商家产品信息
+     * @param page
+     * @param pageMcsProductDTO
+     * @return
+     */
+    IPage<McsProductVO> pageMcsProduct(@Param("page") Page page, @Param("pageMcsProductDTO") PageMcsProductDTO pageMcsProductDTO);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsGame.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsGame.java
index fbef413..be3e63d 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsGame.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsGame.java
@@ -48,6 +48,10 @@
      */
     private Integer coins;
     /**
+     * 剩余戳戳币
+     */
+    private Integer surplusCoins;
+    /**
      * 地址
      */
     private String address;
@@ -112,4 +116,15 @@
      */
     private Long updatedBy;
 
+
+    /**
+     * 状态(1.未发布 2.进行中 3.已下架 4.已结束)
+     */
+    public interface Status {
+        int wfb = 1;
+        int jxz = 2;
+        int yxj = 3;
+        int yjs = 4;
+    }
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsInformation.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsInformation.java
index 7880067..2041d03 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsInformation.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsInformation.java
@@ -76,4 +76,13 @@
      */
     private Long updatedBy;
 
+    /**
+     * 状态(1.未发布 2.已发布 3.已下架)
+     */
+    public interface Status{
+        int wfb = 1;
+        int yfb = 2;
+        int yxj = 3;
+    }
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsMerchant.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsMerchant.java
index c191070..bc666ca 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsMerchant.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsMerchant.java
@@ -52,6 +52,10 @@
      */
     private Date expireAt;
     /**
+     * 首次点亮时间
+     */
+    private Date firstLitAt;
+    /**
      * 商家地址
      */
     private String address;
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsProduct.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsProduct.java
index c34c1b4..25ae00c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsProduct.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/McsProduct.java
@@ -64,4 +64,11 @@
      */
     private Long updatedBy;
 
+    /**
+     * 状态(1.上架中 2.已下架)
+     */
+    public interface Status {
+        int sjz = 1;
+        int yxj = 2;
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsEvaluateService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsEvaluateService.java
index da2063f..e9e6d69 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsEvaluateService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsEvaluateService.java
@@ -1,6 +1,8 @@
 package com.panzhihua.service_community.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsEvaluateDTO;
+import com.panzhihua.common.model.vos.R;
 import com.panzhihua.service_community.entity.McsEvaluate;
 
 /**
@@ -11,4 +13,24 @@
  */
 public interface McsEvaluateService extends IService<McsEvaluate> {
 
+    /**
+     * 分页查询评价记录
+     * @param pageMcsEvaluateDTO
+     * @return
+     */
+    R pageMcsEvaluate(PageMcsEvaluateDTO pageMcsEvaluateDTO);
+
+    /**
+     * 查询评价记录详情
+     * @param evaluateId
+     * @return
+     */
+    R getMcsEvaluate(Long evaluateId);
+
+    /**
+     * 删除评价记录
+     * @param evaluateId
+     * @return
+     */
+    R deleteMcsEvaluate(Long evaluateId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsGameService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsGameService.java
index c28081a..57ca160 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsGameService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsGameService.java
@@ -1,6 +1,7 @@
 package com.panzhihua.service_community.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetPopularForGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForGameDTO;
@@ -43,4 +44,41 @@
      * @return
      */
     R deleteMcsGame(Long gameId, Long userId);
+
+    /**
+     * 新增戳戳游戏
+     * @param mcsGameDTO
+     * @return
+     */
+    R addMcsGame(McsGameDTO mcsGameDTO);
+
+    /**
+     * 编辑戳戳游戏
+     * @param mcsGameDTO
+     * @return
+     */
+    R putMcsGame(McsGameDTO mcsGameDTO);
+
+    /**
+     * 发布戳戳游戏
+     * @param gameId
+     * @param userId
+     * @return
+     */
+    R publishMcsGame(Long gameId, Long userId);
+
+    /**
+     * 结束戳戳游戏
+     * @param gameId
+     * @param userId
+     * @return
+     */
+    R finishMcsGame(Long gameId, Long userId);
+
+    /**
+     * 戳戳游戏顶部统计数据
+     * @param userId
+     * @return
+     */
+    R getTopStatistics(Long userId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsInformationService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsInformationService.java
index 89238ef..4a5a4cd 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsInformationService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsInformationService.java
@@ -1,6 +1,7 @@
 package com.panzhihua.service_community.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsInfoDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsInformationDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForInfoDTO;
 import com.panzhihua.common.model.vos.R;
@@ -35,4 +36,33 @@
      * @return
      */
     R deleteMcsInfo(Long infoId, Long userId);
+
+    /**
+     * 戳戳资讯顶部统计数据
+     * @param userId
+     * @return
+     */
+    R getTopStatistics(Long userId);
+
+    /**
+     * 新增戳戳资讯
+     * @param mcsInfoDTO
+     * @return
+     */
+    R addMcsInfo(McsInfoDTO mcsInfoDTO);
+
+    /**
+     * 编辑戳戳资讯
+     * @param mcsInfoDTO
+     * @return
+     */
+    R putMcsInfo(McsInfoDTO mcsInfoDTO);
+
+    /**
+     * 发布戳戳资讯
+     * @param infoId
+     * @param userId
+     * @return
+     */
+    R publishMcsInfo(Long infoId, Long userId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsProductService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsProductService.java
index 3138ba3..6256ceb 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsProductService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/McsProductService.java
@@ -1,6 +1,10 @@
 package com.panzhihua.service_community.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsProductDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsProductDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForProductDTO;
+import com.panzhihua.common.model.vos.R;
 import com.panzhihua.service_community.entity.McsProduct;
 
 /**
@@ -11,4 +15,39 @@
  */
 public interface McsProductService extends IService<McsProduct> {
 
+    /**
+     * 新增产品信息
+     * @param mcsProductDTO
+     * @return
+     */
+    R addMcsProduct(McsProductDTO mcsProductDTO);
+
+    /**
+     * 编辑产品信息
+     * @param mcsProductDTO
+     * @return
+     */
+    R putMcsProduct(McsProductDTO mcsProductDTO);
+
+    /**
+     * 删除产品信息
+     * @param productId
+     * @param userId
+     * @return
+     */
+    R deleteMcsProduct(Long productId, Long userId);
+
+    /**
+     * 上架/下架产品信息
+     * @param setShelfForProductDTO
+     * @return
+     */
+    R setShelfForMcsProduct(SetShelfForProductDTO setShelfForProductDTO);
+
+    /**
+     * 分页查询产品信息
+     * @param pageMcsProductDTO
+     * @return
+     */
+    R pageMcsProduct(PageMcsProductDTO pageMcsProductDTO);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsEvaluateServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsEvaluateServiceImpl.java
index 049590f..4910ae6 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsEvaluateServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsEvaluateServiceImpl.java
@@ -1,10 +1,16 @@
 package com.panzhihua.service_community.service.impl;
 
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsEvaluateDTO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsEvaluateVO;
 import com.panzhihua.service_community.dao.McsEvaluateDAO;
 import com.panzhihua.service_community.entity.McsEvaluate;
 import com.panzhihua.service_community.service.McsEvaluateService;
-import org.springframework.stereotype.Service;
 
 /**
  * (McsEvaluate)表服务实现类
@@ -15,4 +21,38 @@
 @Service("mcsEvaluateService")
 public class McsEvaluateServiceImpl extends ServiceImpl<McsEvaluateDAO, McsEvaluate> implements McsEvaluateService {
 
+    /**
+     * 分页查询评价记录
+     * @param pageMcsEvaluateDTO
+     * @return
+     */
+    @Override
+    public R pageMcsEvaluate(PageMcsEvaluateDTO pageMcsEvaluateDTO) {
+        Page page = new Page<>();
+        page.setSize(pageMcsEvaluateDTO.getPageSize());
+        page.setCurrent(pageMcsEvaluateDTO.getPageNum());
+        IPage<McsEvaluateVO> mcsEvaluates = this.baseMapper.pageMcsEvaluate(page, pageMcsEvaluateDTO);
+        return R.ok(mcsEvaluates);
+    }
+
+    /**
+     * 查询评价记录详情
+     * @param evaluateId
+     * @return
+     */
+    @Override
+    public R getMcsEvaluate(Long evaluateId) {
+        return R.ok(this.baseMapper.getMcsEvaluate(evaluateId));
+    }
+
+    /**
+     * 删除评价记录
+     * @param evaluateId
+     * @return
+     */
+    @Override
+    public R deleteMcsEvaluate(Long evaluateId) {
+        this.baseMapper.deleteById(evaluateId);
+        return R.ok();
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsGameServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsGameServiceImpl.java
index 3c5a6a7..25c3a82 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsGameServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsGameServiceImpl.java
@@ -2,19 +2,29 @@
 
 import static java.util.Objects.isNull;
 
+import javax.annotation.Resource;
+
+import com.panzhihua.common.model.vos.community.microCommercialStreet.TopStatisticsVO;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetPopularForGameDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForGameDTO;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.microCommercialStreet.McsGameVO;
 import com.panzhihua.service_community.dao.McsGameDAO;
+import com.panzhihua.service_community.dao.McsMerchantDAO;
 import com.panzhihua.service_community.entity.McsGame;
+import com.panzhihua.service_community.entity.McsMerchant;
 import com.panzhihua.service_community.service.McsGameService;
+
+import java.util.Date;
 
 /**
  * (McsGame)表服务实现类
@@ -24,6 +34,9 @@
  */
 @Service("mcsGameService")
 public class McsGameServiceImpl extends ServiceImpl<McsGameDAO, McsGame> implements McsGameService {
+
+    @Resource
+    private McsMerchantDAO mcsMerchantDAO;
 
     /**
      * 分页查询戳戳游戏
@@ -81,6 +94,12 @@
         Integer type = setShelfForGameDTO.getType();
         if (type.equals(1)) {
             //上架
+            McsMerchant mcsMerchant = mcsMerchantDAO.selectById(mcsGame.getMerchantId());
+            Integer publishLimit = mcsMerchant.getPublishLimit();
+            Integer publishCount = this.baseMapper.selectPublishCount(mcsGame.getMerchantId());
+            if (publishCount >= publishLimit) {
+                return R.fail("空闲戳戳点不足");
+            }
             mcsGame.setStatus(2);
         } else if (type.equals(2)) {
             //下架
@@ -108,6 +127,7 @@
             return R.fail("修改数据不存在");
         }
         mcsGame.setIsDel(true);
+        mcsGame.setStatus(McsGame.Status.yxj);
         mcsGame.setUpdatedBy(userId);
         int num = this.baseMapper.updateById(mcsGame);
         if (num > 0) {
@@ -115,4 +135,179 @@
         }
         return R.fail("删除失败,请重新尝试");
     }
+
+    /**
+     * 新增戳戳游戏
+     * @param mcsGameDTO
+     * @return
+     */
+    @Override
+    public R addMcsGame(McsGameDTO mcsGameDTO) {
+        Long userId = mcsGameDTO.getCreatedBy();
+        McsMerchant mcsMerchant = mcsMerchantDAO.selectOne(new QueryWrapper<McsMerchant>().lambda().eq(McsMerchant::getUserId, userId));
+        if (isNull(mcsMerchant)) {
+            return R.fail("未查询到商家信息");
+        }
+        Integer type = mcsGameDTO.getType();
+        McsGame mcsGame = new McsGame();
+        if (type.equals(1)) {
+            //1.戳戳币游戏
+            Integer allocation = mcsGameDTO.getAllocation();
+            Integer coins = mcsGameDTO.getCoins();
+            if (isNull(allocation)) {
+                return R.fail("缺少分配方式");
+            }
+            if (isNull(coins)) {
+                return R.fail("未设置戳戳币总额");
+            }
+            mcsGame.setSurplusCoins(mcsGameDTO.getCoins());
+        } else if (type.equals(2)) {
+            //2.体验游戏
+            Integer awardType = mcsGameDTO.getAwardType();
+            if (isNull(awardType)) {
+                return R.fail("缺少奖励类型");
+            }
+        } else {
+            return R.fail("未知错误");
+        }
+        BeanUtils.copyProperties(mcsGameDTO, mcsGame);
+        mcsGame.setSurplusCoupons(mcsGameDTO.getCoupons());
+        mcsGame.setStatus(McsGame.Status.wfb);
+        mcsGame.setMerchantId(mcsMerchant.getId());
+        int num = this.baseMapper.insert(mcsGame);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("新增失败,请重新尝试");
+    }
+
+    /**
+     * 编辑戳戳游戏
+     * @param mcsGameDTO
+     * @return
+     */
+    @Override
+    public R putMcsGame(McsGameDTO mcsGameDTO) {
+        McsGame mcsGame = this.baseMapper.selectById(mcsGameDTO.getId());
+        if (isNull(mcsGame)) {
+            return R.fail("资源不存在");
+        }
+        Integer type = mcsGameDTO.getType();
+        if (type.equals(1)) {
+            //1.戳戳币游戏
+            Integer allocation = mcsGameDTO.getAllocation();
+            Integer coins = mcsGameDTO.getCoins();
+            if (isNull(allocation)) {
+                return R.fail("缺少分配方式");
+            }
+            if (isNull(coins)) {
+                return R.fail("未设置戳戳币总额");
+            }
+            Integer beforeCoins = mcsGame.getCoins();
+            Integer beforeSurplusCoins = mcsGame.getSurplusCoins();
+            Integer beforeUsedCoins = beforeCoins - beforeSurplusCoins;
+            Integer surplusCoins = coins - beforeUsedCoins;
+            if (surplusCoins < 0) {
+                return R.fail("戳戳币总额少于已发出的数量");
+            }
+            mcsGame.setSurplusCoins(surplusCoins);
+        } else if (type.equals(2)) {
+            //2.体验游戏
+            Integer awardType = mcsGameDTO.getAwardType();
+            if (isNull(awardType)) {
+                return R.fail("缺少奖励类型");
+            }
+        } else {
+            return R.fail("未知错误");
+        }
+        Integer beforeCoupons = mcsGame.getCoupons();
+        Integer beforeSurplusCoupons = mcsGame.getSurplusCoupons();
+        Integer beforeUsedCoupons = beforeCoupons - beforeSurplusCoupons;
+        BeanUtils.copyProperties(mcsGameDTO, mcsGame);
+        Integer coupons = mcsGame.getCoupons();
+        Integer surplusCoupons = coupons - beforeUsedCoupons;
+        if (surplusCoupons < 0) {
+            return R.fail("卷总数少于已发出的数量");
+        }
+        mcsGame.setSurplusCoupons(surplusCoupons);
+        int num = this.baseMapper.updateById(mcsGame);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("编辑失败,请重新尝试");
+    }
+
+    /**
+     * 发布戳戳游戏
+     * @param gameId
+     * @param userId
+     * @return
+     */
+    @Override
+    public R publishMcsGame(Long gameId, Long userId) {
+        McsGame mcsGame = this.baseMapper.selectById(gameId);
+        if (isNull(mcsGame)) {
+            return R.fail("资源不存在");
+        }
+        McsMerchant mcsMerchant = mcsMerchantDAO.selectById(mcsGame.getMerchantId());
+        Integer publishLimit = mcsMerchant.getPublishLimit();
+        Integer publishCount = this.baseMapper.selectPublishCount(mcsGame.getMerchantId());
+        if (publishCount >= publishLimit) {
+            return R.fail("空闲戳戳点不足");
+        }
+        mcsGame.setStatus(McsGame.Status.jxz);
+        mcsGame.setPublishAt(new Date());
+        mcsGame.setUpdatedBy(userId);
+        int num = this.baseMapper.updateById(mcsGame);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("发布失败,请重新尝试");
+    }
+
+    /**
+     * 结束戳戳游戏
+     * @param gameId
+     * @param userId
+     * @return
+     */
+    @Override
+    public R finishMcsGame(Long gameId, Long userId) {
+        McsGame mcsGame = this.baseMapper.selectById(gameId);
+        if (isNull(mcsGame)) {
+            return R.fail("资源不存在");
+        }
+        mcsGame.setStatus(McsGame.Status.yjs);
+        mcsGame.setUpdatedBy(userId);
+        int num = this.baseMapper.updateById(mcsGame);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("结束失败,请重新尝试");
+    }
+
+    /**
+     * 戳戳游戏顶部统计数据
+     * @param userId
+     * @return
+     */
+    @Override
+    public R getTopStatistics(Long userId) {
+        McsMerchant mcsMerchant = mcsMerchantDAO.selectOne(new QueryWrapper<McsMerchant>().lambda().eq(McsMerchant::getUserId, userId));
+        if (isNull(mcsMerchant)) {
+            return R.fail("未查询到商家信息");
+        }
+        TopStatisticsVO topStatisticsVO = new TopStatisticsVO();
+        topStatisticsVO.setExpireAt(mcsMerchant.getExpireAt());
+        Integer appliedCount = this.baseMapper.selectAppliedCount(mcsMerchant.getId());
+        topStatisticsVO.setAppliedTotal(appliedCount);
+        Integer verifiedCount = this.baseMapper.selectVerifiedCount(mcsMerchant.getId());
+        topStatisticsVO.setVerifiedTotal(verifiedCount);
+
+        Integer publishLimit = mcsMerchant.getPublishLimit();
+        Integer publishCount = this.baseMapper.selectPublishCount(mcsMerchant.getId());
+        Integer idleTotal = publishLimit - publishCount;
+        topStatisticsVO.setIdleTotal(idleTotal > 0 ? idleTotal : 0);
+        return R.ok(topStatisticsVO);
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java
index c45fb66..7718ea4 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java
@@ -1,14 +1,30 @@
 package com.panzhihua.service_community.service.impl;
 
+import static java.util.Objects.isNull;
+
+import javax.annotation.Resource;
+
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsInfoDTO;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsInformationDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForInfoDTO;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsInformationVO;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.TopStatisticsVO;
+import com.panzhihua.service_community.dao.McsGameDAO;
 import com.panzhihua.service_community.dao.McsInformationDAO;
+import com.panzhihua.service_community.dao.McsMerchantDAO;
 import com.panzhihua.service_community.entity.McsInformation;
+import com.panzhihua.service_community.entity.McsMerchant;
 import com.panzhihua.service_community.service.McsInformationService;
+
+import java.util.Date;
 
 /**
  * (McsInformation)表服务实现类
@@ -20,6 +36,11 @@
 public class McsInformationServiceImpl extends ServiceImpl<McsInformationDAO, McsInformation>
     implements McsInformationService {
 
+    @Resource
+    private McsGameDAO mcsGameDAO;
+    @Resource
+    private McsMerchantDAO mcsMerchantDAO;
+
     /**
      * 分页查询戳戳资讯
      * @param pageMcsInformationDTO
@@ -27,7 +48,11 @@
      */
     @Override
     public R pageMcsInfo(PageMcsInformationDTO pageMcsInformationDTO) {
-        return null;
+        Page page = new Page<>();
+        page.setSize(pageMcsInformationDTO.getPageSize());
+        page.setCurrent(pageMcsInformationDTO.getPageNum());
+        IPage<McsInformationVO> mcsInfos = this.baseMapper.pageMcsInfo(page, pageMcsInformationDTO);
+        return R.ok(mcsInfos);
     }
 
     /**
@@ -37,7 +62,31 @@
      */
     @Override
     public R setShelfForMcsInfo(SetShelfForInfoDTO setShelfForInfoDTO) {
-        return null;
+        McsInformation mcsInformation = this.baseMapper.selectById(setShelfForInfoDTO.getInfoId());
+        if (isNull(mcsInformation)) {
+            return R.fail("修改数据不存在");
+        }
+        Integer type = setShelfForInfoDTO.getType();
+        if (type.equals(1)) {
+            //上架
+            McsMerchant mcsMerchant = mcsMerchantDAO.selectById(mcsInformation.getMerchantId());
+            Integer publishLimit = mcsMerchant.getPublishLimit();
+            Integer publishCount = mcsGameDAO.selectPublishCount(mcsInformation.getMerchantId());
+            if (publishCount >= publishLimit) {
+                return R.fail("空闲戳戳点不足");
+            }
+            mcsInformation.setStatus(2);
+        } else if (type.equals(2)) {
+            //下架
+            mcsInformation.setStatus(3);
+        } else {
+            return R.fail("未知错误");
+        }
+        int num = this.baseMapper.updateById(mcsInformation);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("修改失败,请重新尝试");
     }
 
     /**
@@ -48,6 +97,107 @@
      */
     @Override
     public R deleteMcsInfo(Long infoId, Long userId) {
-        return null;
+        McsInformation mcsInformation = this.baseMapper.selectById(infoId);
+        if (isNull(mcsInformation)) {
+            return R.fail("修改数据不存在");
+        }
+        mcsInformation.setIsDel(true);
+        mcsInformation.setStatus(McsInformation.Status.yxj);
+        mcsInformation.setUpdatedBy(userId);
+        int num = this.baseMapper.updateById(mcsInformation);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("删除失败,请重新尝试");
+    }
+
+    /**
+     * 戳戳资讯顶部统计数据
+     * @param userId
+     * @return
+     */
+    @Override
+    public R getTopStatistics(Long userId) {
+        McsMerchant mcsMerchant = mcsMerchantDAO.selectOne(new QueryWrapper<McsMerchant>().lambda().eq(McsMerchant::getUserId, userId));
+        if (isNull(mcsMerchant)) {
+            return R.fail("未查询到商家信息");
+        }
+        TopStatisticsVO topStatisticsVO = new TopStatisticsVO();
+        topStatisticsVO.setExpireAt(mcsMerchant.getExpireAt());
+
+        Integer publishLimit = mcsMerchant.getPublishLimit();
+        Integer publishCount = mcsGameDAO.selectPublishCount(mcsMerchant.getId());
+        Integer idleTotal = publishLimit - publishCount;
+        topStatisticsVO.setIdleTotal(idleTotal > 0 ? idleTotal : 0);
+        return R.ok(topStatisticsVO);
+    }
+
+    /**
+     * 新增戳戳资讯
+     * @param mcsInfoDTO
+     * @return
+     */
+    @Override
+    public R addMcsInfo(McsInfoDTO mcsInfoDTO) {
+        Long userId = mcsInfoDTO.getCreatedBy();
+        McsMerchant mcsMerchant = mcsMerchantDAO.selectOne(new QueryWrapper<McsMerchant>().lambda().eq(McsMerchant::getUserId, userId));
+        if (isNull(mcsMerchant)) {
+            return R.fail("未查询到商家信息");
+        }
+        McsInformation mcsInformation = new McsInformation();
+        BeanUtils.copyProperties(mcsInfoDTO, mcsInformation);
+        mcsInformation.setMerchantId(mcsMerchant.getId());
+        mcsInformation.setStatus(McsInformation.Status.wfb);
+        int num = this.baseMapper.insert(mcsInformation);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("新增失败,请重新尝试");
+    }
+
+    /**
+     * 编辑戳戳资讯
+     * @param mcsInfoDTO
+     * @return
+     */
+    @Override
+    public R putMcsInfo(McsInfoDTO mcsInfoDTO) {
+        McsInformation mcsInformation = this.baseMapper.selectById(mcsInfoDTO.getId());
+        if (isNull(mcsInformation)) {
+            return R.fail("资源不存在");
+        }
+        BeanUtils.copyProperties(mcsInfoDTO, mcsInformation);
+        int num = this.baseMapper.updateById(mcsInformation);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("编辑失败,请重新尝试");
+    }
+
+    /**
+     * 发布戳戳资讯
+     * @param infoId
+     * @param userId
+     * @return
+     */
+    @Override
+    public R publishMcsInfo(Long infoId, Long userId) {
+        McsInformation mcsInformation = this.baseMapper.selectById(infoId);
+        if (isNull(mcsInformation)) {
+            return R.fail("资源不存在");
+        }
+        McsMerchant mcsMerchant = mcsMerchantDAO.selectById(mcsInformation.getMerchantId());
+        Integer publishLimit = mcsMerchant.getPublishLimit();
+        Integer publishCount = mcsGameDAO.selectPublishCount(mcsInformation.getMerchantId());
+        if (publishCount >= publishLimit) {
+            return R.fail("空闲戳戳点不足");
+        }
+        mcsInformation.setStatus(McsInformation.Status.yfb);
+        mcsInformation.setPublishAt(new Date());
+        int num = this.baseMapper.updateById(mcsInformation);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("发布失败,请重新尝试");
     }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsMerchantServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsMerchantServiceImpl.java
index 5c2e2ba..4594b34 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsMerchantServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsMerchantServiceImpl.java
@@ -1,12 +1,17 @@
 package com.panzhihua.service_community.service.impl;
 
 import static java.util.Objects.isNull;
+import static java.util.Objects.nonNull;
 
 import java.util.Arrays;
 import java.util.Date;
 
 import javax.annotation.Resource;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.panzhihua.service_community.dao.McsConfigDAO;
+import com.panzhihua.service_community.dao.McsGameDAO;
+import com.panzhihua.service_community.entity.McsConfig;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -36,8 +41,15 @@
 @Service("mcsMerchantService")
 public class McsMerchantServiceImpl extends ServiceImpl<McsMerchantDAO, McsMerchant> implements McsMerchantService {
 
+    private static final String MERCHANT_PUBLISH_LIMIT_KEY = "MERCHANT_PUBLISH_LIMIT";
+    private static final int DEFAULT_PUBLISH_LIMIT = 2;
+
     @Resource
     private UserService userService;
+    @Resource
+    private McsConfigDAO mcsConfigDAO;
+    @Resource
+    private McsGameDAO mcsGameDAO;
 
     /**
      * 新增数字商业街商家
@@ -56,6 +68,8 @@
             }
             mcsMerchant.setExpireAt(DateUtils.addDay(new Date(), litDays));
         }
+        McsConfig publishLimitConfig = mcsConfigDAO.selectOne(new QueryWrapper<McsConfig>().lambda().eq(McsConfig::getKey, MERCHANT_PUBLISH_LIMIT_KEY));
+        mcsMerchant.setPublishLimit(nonNull(publishLimitConfig) ? Integer.parseInt(publishLimitConfig.getValue()) : DEFAULT_PUBLISH_LIMIT);
         mcsMerchant.setUserId(0L);
         int insertResult = this.baseMapper.insert(mcsMerchant);
         if (insertResult > 0) {
@@ -87,10 +101,9 @@
         }
         if (mcsMerchantDTO.getLevel().equals(1)) {
             Integer litDays = mcsMerchantDTO.getLitDays();
-            if (isNull(litDays)) {
-                return R.fail("临时商家未设置点亮天数");
+            if (nonNull(litDays)) {
+                mcsMerchant.setExpireAt(DateUtils.addDay(new Date(), litDays));
             }
-            mcsMerchant.setExpireAt(DateUtils.addDay(new Date(), litDays));
         }
         BeanUtils.copyProperties(mcsMerchantDTO, mcsMerchant);
         int result = this.baseMapper.updateById(mcsMerchant);
@@ -113,7 +126,14 @@
      */
     @Override
     public R getMcsMerchant(Long merchantId) {
-        return R.ok(this.baseMapper.getMcsMerchantById(merchantId));
+        McsMerchantVO merchantVO = this.baseMapper.getMcsMerchantById(merchantId);
+        if (nonNull(merchantVO)) {
+            Integer publishLimit = merchantVO.getPublishLimit();
+            Integer publishCount = mcsGameDAO.selectPublishCount(merchantVO.getId());
+            Integer idleTotal = publishLimit - publishCount;
+            merchantVO.setIdleTotal(idleTotal > 0 ? idleTotal : 0);
+        }
+        return R.ok(merchantVO);
     }
 
     /**
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsProductServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsProductServiceImpl.java
index 728d3d4..a7a8ef6 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsProductServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsProductServiceImpl.java
@@ -1,10 +1,35 @@
 package com.panzhihua.service_community.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.panzhihua.service_community.dao.McsProductDAO;
-import com.panzhihua.service_community.entity.McsProduct;
-import com.panzhihua.service_community.service.McsProductService;
+import static java.util.Objects.isNull;
+import static java.util.Objects.nonNull;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsProductDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsProductDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForProductDTO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsProductVO;
+import com.panzhihua.common.utlis.Snowflake;
+import com.panzhihua.service_community.dao.McsLabelDAO;
+import com.panzhihua.service_community.dao.McsMerchantDAO;
+import com.panzhihua.service_community.dao.McsProductDAO;
+import com.panzhihua.service_community.dao.McsProductLabelDAO;
+import com.panzhihua.service_community.entity.McsLabel;
+import com.panzhihua.service_community.entity.McsMerchant;
+import com.panzhihua.service_community.entity.McsProduct;
+import com.panzhihua.service_community.entity.McsProductLabel;
+import com.panzhihua.service_community.service.McsProductService;
 
 /**
  * (McsProduct)表服务实现类
@@ -15,4 +40,149 @@
 @Service("mcsProductService")
 public class McsProductServiceImpl extends ServiceImpl<McsProductDAO, McsProduct> implements McsProductService {
 
+    @Resource
+    private McsMerchantDAO mcsMerchantDAO;
+    @Resource
+    private McsLabelDAO mcsLabelDAO;
+    @Resource
+    private McsProductLabelDAO mcsProductLabelDAO;
+
+    /**
+     * 新增产品信息
+     * @param mcsProductDTO
+     * @return
+     */
+    @Override
+    public R addMcsProduct(McsProductDTO mcsProductDTO) {
+        Long userId = mcsProductDTO.getCreatedBy();
+        McsMerchant mcsMerchant = mcsMerchantDAO.selectOne(new QueryWrapper<McsMerchant>().lambda().eq(McsMerchant::getUserId, userId));
+        if (isNull(mcsMerchant)) {
+            return R.fail("商家信息不存在");
+        }
+        McsProduct mcsProduct = new McsProduct();
+        BeanUtils.copyProperties(mcsProductDTO, mcsProduct);
+        mcsProduct.setMerchantId(mcsMerchant.getId());
+        mcsProduct.setStatus(McsProduct.Status.yxj);
+        mcsProduct.setId(Snowflake.getId());
+        int num = this.baseMapper.insert(mcsProduct);
+        if (num > 0) {
+            List<Long> labelIds = mcsProductDTO.getLabelIds();
+            if (nonNull(labelIds) && !labelIds.isEmpty()) {
+                List<McsLabel> mcsLabels = mcsLabelDAO.selectBatchIds(labelIds);
+                if (nonNull(mcsLabels) && !mcsLabels.isEmpty()) {
+                    List<McsProductLabel> mcsProductLabelList = new ArrayList<>();
+                    mcsLabels.forEach(e -> {
+                        McsProductLabel productLabel = new McsProductLabel();
+                        productLabel.setLabelId(e.getId());
+                        productLabel.setProductId(mcsProduct.getId());
+                        productLabel.setLabelName(e.getName());
+                        mcsProductLabelList.add(productLabel);
+                    });
+                    mcsProductLabelDAO.insertBatch(mcsProductLabelList);
+                }
+            }
+            return R.ok();
+        }
+        return R.fail("新增失败,请重新尝试");
+    }
+
+    /**
+     * 编辑产品信息
+     * @param mcsProductDTO
+     * @return
+     */
+    @Override
+    public R putMcsProduct(McsProductDTO mcsProductDTO) {
+        McsProduct mcsProduct = this.baseMapper.selectById(mcsProductDTO.getId());
+        if (isNull(mcsProduct)) {
+            return R.fail("资源不存在");
+        }
+        BeanUtils.copyProperties(mcsProductDTO, mcsProduct);
+        int num = this.baseMapper.updateById(mcsProduct);
+        if (num > 0) {
+            List<Long> labelIds = mcsProductDTO.getLabelIds();
+            mcsProductLabelDAO.delete(new QueryWrapper<McsProductLabel>().lambda().eq(McsProductLabel::getProductId, mcsProduct.getId()));
+            if (nonNull(labelIds) && !labelIds.isEmpty()) {
+                List<McsLabel> mcsLabels = mcsLabelDAO.selectBatchIds(labelIds);
+                if (nonNull(mcsLabels) && !mcsLabels.isEmpty()) {
+                    List<McsProductLabel> mcsProductLabelList = new ArrayList<>();
+                    mcsLabels.forEach(e -> {
+                        McsProductLabel productLabel = new McsProductLabel();
+                        productLabel.setLabelId(e.getId());
+                        productLabel.setProductId(mcsProduct.getId());
+                        productLabel.setLabelName(e.getName());
+                        mcsProductLabelList.add(productLabel);
+                    });
+                    mcsProductLabelDAO.insertBatch(mcsProductLabelList);
+                }
+            }
+            return R.ok();
+        }
+        return R.fail("编辑失败,请重新尝试");
+    }
+
+    /**
+     * 删除产品信息
+     * @param productId
+     * @param userId
+     * @return
+     */
+    @Override
+    public R deleteMcsProduct(Long productId, Long userId) {
+        McsProduct mcsProduct = this.baseMapper.selectById(productId);
+        if (isNull(mcsProduct)) {
+            return R.fail("资源不存在");
+        }
+        mcsProduct.setIsDel(true);
+        mcsProduct.setUpdatedBy(userId);
+        int num = this.baseMapper.updateById(mcsProduct);
+        if (num > 0) {
+            return R.ok();
+        }
+        return R.fail("删除失败,请重新尝试");
+    }
+
+    /**
+     * 上架/下架产品信息
+     * @param setShelfForProductDTO
+     * @return
+     */
+    @Override
+    public R setShelfForMcsProduct(SetShelfForProductDTO setShelfForProductDTO) {
+        Integer type = setShelfForProductDTO.getType();
+        List<McsProduct> mcsProducts = this.baseMapper.selectBatchIds(setShelfForProductDTO.getProductIds());
+        if (nonNull(mcsProducts) && !mcsProducts.isEmpty()) {
+            if (type.equals(1)) {
+                //上架
+                mcsProducts.forEach(e -> {
+                    e.setStatus(McsProduct.Status.sjz);
+                    e.setUpdatedBy(setShelfForProductDTO.getUpdatedBy());
+                });
+            } else if (type.equals(2)) {
+                //下架
+                mcsProducts.forEach(e -> {
+                    e.setStatus(McsProduct.Status.yxj);
+                    e.setUpdatedBy(setShelfForProductDTO.getUpdatedBy());
+                });
+            } else {
+                return R.fail("未知错误");
+            }
+            this.updateBatchById(mcsProducts);
+        }
+        return R.ok();
+    }
+
+    /**
+     * 分页查询产品信息
+     * @param pageMcsProductDTO
+     * @return
+     */
+    @Override
+    public R pageMcsProduct(PageMcsProductDTO pageMcsProductDTO) {
+        Page page = new Page<>();
+        page.setSize(pageMcsProductDTO.getPageSize());
+        page.setCurrent(pageMcsProductDTO.getPageNum());
+        IPage<McsProductVO> mcsProduct = this.baseMapper.pageMcsProduct(page, pageMcsProductDTO);
+        return R.ok(mcsProduct);
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsEvaluateMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsEvaluateMapper.xml
index 123812a..8ec6aab 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsEvaluateMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsEvaluateMapper.xml
@@ -30,6 +30,28 @@
         coupon_id = values(coupon_id) , star = values(star) , content = values(content) , photos = values(photos) ,
         created_at = values(created_at)
     </insert>
+    <select id="pageMcsEvaluate"
+            resultType="com.panzhihua.common.model.vos.community.microCommercialStreet.McsEvaluateVO">
+        SELECT t1.id, t1.star, t1.content, t1.photos, t1.created_at, t3.nick_name, t3.phone, t2.`name` AS gameName
+        FROM mcs_evaluate t1
+        LEFT JOIN mcs_game t2 ON t1.game_id = t2.id
+        LEFT JOIN sys_user t3 ON t1.user_id = t3.user_id
+        WHERE 1=1
+        <if test="pageMcsEvaluateDTO.keyword != null and pageMcsEvaluateDTO.keyword != &quot;&quot;">
+            AND (
+            t3.nick_name LIKE CONCAT(#{pageMcsEvaluateDTO.keyword}, '%')
+            OR t3.phone LIKE CONCAT(#{pageMcsEvaluateDTO.keyword}, '%')
+            )
+        </if>
+    </select>
+    <select id="getMcsEvaluate"
+            resultType="com.panzhihua.common.model.vos.community.microCommercialStreet.McsEvaluateVO">
+        SELECT t1.id, t1.star, t1.content, t1.photos, t1.created_at, t3.nick_name, t3.phone, t2.`name` AS gameName
+        FROM mcs_evaluate t1
+        LEFT JOIN mcs_game t2 ON t1.game_id = t2.id
+        LEFT JOIN sys_user t3 ON t1.user_id = t3.user_id
+        WHERE t1.id = #{evaluateId}
+    </select>
 
 </mapper>
 
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsGameMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsGameMapper.xml
index e6811f5..f8e32ea 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsGameMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsGameMapper.xml
@@ -11,6 +11,7 @@
         <result property="awardType" column="award_type" jdbcType="INTEGER"/>
         <result property="allocation" column="allocation" jdbcType="INTEGER"/>
         <result property="coins" column="coins" jdbcType="INTEGER"/>
+        <result property="surplusCoins" column="surplus_coins" jdbcType="INTEGER"/>
         <result property="address" column="address" jdbcType="VARCHAR"/>
         <result property="lat" column="lat" jdbcType="VARCHAR"/>
         <result property="lon" column="lon" jdbcType="VARCHAR"/>
@@ -99,6 +100,26 @@
         </if>
         ORDER BY t1.created_at DESC
     </select>
+    <select id="selectPublishCount" resultType="java.lang.Integer">
+        SELECT SUM(publishCount) AS publishCount FROM
+        (
+            SELECT COUNT(1) AS publishCount FROM mcs_game WHERE merchant_id = 2 AND `status` = 2 AND is_del = 0
+            UNION ALL
+            SELECT COUNT(1) AS publishCount FROM mcs_information WHERE merchant_id = 2 AND `status` = 2 AND is_del = 0
+        ) temp
+    </select>
+    <select id="selectAppliedCount" resultType="java.lang.Integer">
+        SELECT COUNT(1)
+        FROM mcs_coupon t1
+        LEFT JOIN mcs_game t2 ON t1.game_id = t2.id
+        WHERE t2.merchant_id = #{merchantId}
+    </select>
+    <select id="selectVerifiedCount" resultType="java.lang.Integer">
+        SELECT COUNT(1)
+        FROM mcs_coupon t1
+        LEFT JOIN mcs_game t2 ON t1.game_id = t2.id
+        WHERE t1.is_verified = 1 AND t2.merchant_id = #{merchantId}
+    </select>
 
 </mapper>
 
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsInformationMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsInformationMapper.xml
index 4d00842..107daa7 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsInformationMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsInformationMapper.xml
@@ -47,6 +47,20 @@
         values(is_del) , merchant_id = values(merchant_id) , created_at = values(created_at) , created_by =
         values(created_by) , updated_at = values(updated_at) , updated_by = values(updated_by)
     </insert>
+    <select id="pageMcsInfo"
+            resultType="com.panzhihua.common.model.vos.community.microCommercialStreet.McsInformationVO">
+        SELECT t1.id, t1.`name`, t1.publish_at, t1.`status`, t1.merchant_id, t2.`name` AS merchantName
+        FROM mcs_information t1
+        LEFT JOIN mcs_merchant t2 ON t1.merchant_id = t2.id
+        WHERE t1.is_del = 0
+        <if test="pageMcsInformationDTO.status != null">
+            AND t1.`status` = #{pageMcsInformationDTO.status}
+        </if>
+        <if test="pageMcsInformationDTO.keyword != null and pageMcsInformationDTO.keyword != &quot;&quot;">
+            AND t1.`name` LIKE CONCAT(#{pageMcsInformationDTO.keyword}, '%')
+        </if>
+        ORDER BY t1.created_at DESC
+    </select>
 
 </mapper>
 
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsMerchantMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsMerchantMapper.xml
index b1337fe..3cc7931 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsMerchantMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsMerchantMapper.xml
@@ -12,6 +12,7 @@
         <result property="level" column="level" jdbcType="INTEGER"/>
         <result property="publishLimit" column="publish_limit" jdbcType="INTEGER"/>
         <result property="expireAt" column="expire_at" jdbcType="TIMESTAMP"/>
+        <result property="firstLitAt" column="first_lit_at" jdbcType="TIMESTAMP"/>
         <result property="address" column="address" jdbcType="VARCHAR"/>
         <result property="lat" column="lat" jdbcType="VARCHAR"/>
         <result property="lon" column="lon" jdbcType="VARCHAR"/>
@@ -55,7 +56,8 @@
     </insert>
     <select id="getMcsMerchantById"
             resultType="com.panzhihua.common.model.vos.community.microCommercialStreet.McsMerchantVO">
-        SELECT t1.id, t1.`name`, t1.phone, t1.account, t1.`level`, t1.expire_at, t2.`status` AS accountStatus
+        SELECT t1.id, t1.`name`, t1.phone, t1.account, t1.`level`, t1.expire_at, t1.first_lit_at, t1.publish_limit,
+        t1.logo, t1.address, t1.lat, t1.lon, t1.introduction, t2.`status` AS accountStatus
         FROM mcs_merchant t1
         LEFT JOIN sys_user t2 ON t1.user_id = t2.user_id
         WHERE t1.id = #{merchantId} AND t1.is_del = 0
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsProductMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsProductMapper.xml
index 9268fb0..bfe9c50 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsProductMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/McsProductMapper.xml
@@ -44,6 +44,21 @@
         values(created_at) , created_by = values(created_by) , updated_at = values(updated_at) , updated_by =
         values(updated_by)
     </insert>
+    <select id="pageMcsProduct"
+            resultType="com.panzhihua.common.model.vos.community.microCommercialStreet.McsProductVO">
+        SELECT t1.id, t1.`name`, t1.image, t1.view_num, t1.`status`, t3.productLabel
+        FROM mcs_product t1
+        LEFT JOIN mcs_merchant t2 ON t1.merchant_id = t2.id
+        LEFT JOIN (SELECT product_id, GROUP_CONCAT(label_name) AS productLabel FROM mcs_product_label GROUP BY product_id) t3 ON t1.id = t3.product_id
+        WHERE t1.is_del = 0 AND t2.user_id = #{pageMcsProductDTO.userId} AND t2.is_del = 0
+        <if test="pageMcsProductDTO.status != null">
+            AND t1.`status` = #{pageMcsProductDTO.status}
+        </if>
+        <if test="pageMcsProductDTO.keyword != null and pageMcsProductDTO.keyword != &quot;&quot;">
+            AND t1.`name` LIKE CONCAT(#{pageMcsProductDTO.keyword}, '%')
+        </if>
+        ORDER BY t1.created_at DESC
+    </select>
 
 </mapper>
 
diff --git a/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/MicroCommercialStreetApi.java b/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/MicroCommercialStreetApi.java
new file mode 100644
index 0000000..f7abea4
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/MicroCommercialStreetApi.java
@@ -0,0 +1,227 @@
+package com.panzhihua.shop_backstage.api;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.DeleteMapping;
+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.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.panzhihua.common.controller.BaseController;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsGameDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsInfoDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsMerchantDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsProductDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsEvaluateDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsGameDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsInformationDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsProductDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForGameDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForInfoDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForProductDTO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsEvaluateVO;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsGameVO;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsInformationVO;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsMerchantVO;
+import com.panzhihua.common.model.vos.community.microCommercialStreet.McsProductVO;
+import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.validated.AddGroup;
+import com.panzhihua.common.validated.PutGroup;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @title: MicroCommercialStreetApi
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 微商业街相关接口
+ * @author: hans
+ * @date: 2021/12/28 14:18
+ */
+@Api(tags = {"微商业街"})
+@RestController
+@RequestMapping("/microcommercialstreet")
+public class MicroCommercialStreetApi extends BaseController {
+
+    @Resource
+    private CommunityService communityService;
+
+    @ApiOperation(value = "新增戳戳游戏")
+    @PostMapping("/game/add")
+    public R addMcsGame(@RequestBody @Validated(AddGroup.class) McsGameDTO mcsGameDTO) {
+        Long userId = this.getUserId();
+        mcsGameDTO.setCreatedBy(userId);
+        mcsGameDTO.setUpdatedBy(userId);
+        return communityService.addMcsGame(mcsGameDTO);
+    }
+
+    @ApiOperation(value = "编辑戳戳游戏")
+    @PutMapping("/game/put")
+    public R putMcsGame(@RequestBody @Validated(PutGroup.class) McsGameDTO mcsGameDTO) {
+        mcsGameDTO.setUpdatedBy(this.getUserId());
+        return communityService.putMcsGame(mcsGameDTO);
+    }
+
+    @ApiOperation(value = "发布戳戳游戏")
+    @ApiImplicitParam(name = "gameId", value = "游戏id", required = true)
+    @GetMapping("/game/publish")
+    public R publishMcsGame(@RequestParam("gameId") Long gameId) {
+        return communityService.publishMcsGame(gameId, this.getUserId());
+    }
+
+    @ApiOperation(value = "结束戳戳游戏")
+    @ApiImplicitParam(name = "gameId", value = "游戏id", required = true)
+    @GetMapping("/game/finish")
+    public R finishMcsGame(@RequestParam("gameId") Long gameId) {
+        return communityService.finishMcsGame(gameId, this.getUserId());
+    }
+
+    @ApiOperation(value = "分页查询戳戳游戏", response = McsGameVO.class)
+    @PostMapping("/game/page")
+    public R pageMcsGame(@RequestBody @Valid PageMcsGameDTO pageMcsGameDTO) {
+        return communityService.pageMcsGame(pageMcsGameDTO);
+    }
+
+    @ApiOperation(value = "上架/下架戳戳游戏")
+    @PutMapping("/game/setShelf")
+    public R setShelfForGame(@RequestBody @Valid SetShelfForGameDTO setShelfForGameDTO) {
+        setShelfForGameDTO.setUpdatedBy(this.getUserId());
+        return communityService.setShelfForGame(setShelfForGameDTO);
+    }
+
+    @ApiOperation(value = "删除戳戳游戏")
+    @ApiImplicitParam(name = "gameId", value = "游戏id", required = true)
+    @DeleteMapping("/game/delete")
+    public R deleteMcsGame(@RequestParam("gameId") Long gameId) {
+        return communityService.deleteMcsGame(gameId, this.getUserId());
+    }
+
+    @ApiOperation(value = "戳戳游戏/资讯顶部统计数据")
+    @ApiImplicitParam(name = "type", value = "类型(1.戳戳游戏 2.戳戳资讯)", required = true)
+    @GetMapping("/statistics/top")
+    public R getTopStatistics(@RequestParam("type") Integer type) {
+        return communityService.getTopStatistics(type, this.getUserId());
+    }
+
+    @ApiOperation(value = "新增戳戳资讯")
+    @PostMapping("/information/add")
+    public R addMcsInfo(@RequestBody @Validated(AddGroup.class) McsInfoDTO mcsInfoDTO) {
+        Long userId = this.getUserId();
+        mcsInfoDTO.setCreatedBy(userId);
+        mcsInfoDTO.setUpdatedBy(userId);
+        return communityService.addMcsInfo(mcsInfoDTO);
+    }
+
+    @ApiOperation(value = "编辑戳戳资讯")
+    @PutMapping("/information/put")
+    public R putMcsInfo(@RequestBody @Validated(PutGroup.class) McsInfoDTO mcsInfoDTO) {
+        mcsInfoDTO.setUpdatedBy(this.getUserId());
+        return communityService.putMcsInfo(mcsInfoDTO);
+    }
+
+    @ApiOperation(value = "发布戳戳资讯")
+    @ApiImplicitParam(name = "infoId", value = "资讯id", required = true)
+    @GetMapping("/information/publish")
+    public R publishMcsInfo(@RequestParam("infoId") Long infoId) {
+        return communityService.publishMcsInfo(infoId, this.getUserId());
+    }
+
+    @ApiOperation(value = "分页查询戳戳资讯", response = McsInformationVO.class)
+    @PostMapping("/information/page")
+    public R pageMcsInfo(@RequestBody @Valid PageMcsInformationDTO pageMcsInformationDTO) {
+        return communityService.pageMcsInfo(pageMcsInformationDTO);
+    }
+
+    @ApiOperation(value = "上架/下架戳戳资讯")
+    @PutMapping("/information/setShelf")
+    public R setShelfForMcsInfo(@RequestBody @Valid SetShelfForInfoDTO setShelfForInfoDTO) {
+        setShelfForInfoDTO.setUpdatedBy(this.getUserId());
+        return communityService.setShelfForMcsInfo(setShelfForInfoDTO);
+    }
+
+    @ApiOperation(value = "删除戳戳资讯")
+    @ApiImplicitParam(name = "infoId", value = "资讯id", required = true)
+    @DeleteMapping("/information/delete")
+    public R deleteMcsInfo(@RequestParam("infoId") Long infoId) {
+        return communityService.deleteMcsInfo(infoId, this.getUserId());
+    }
+
+    @ApiOperation(value = "编辑数字商业街商家")
+    @PutMapping("/merchant/put")
+    public R putMcsMerchant(@RequestBody @Validated(PutGroup.class) McsMerchantDTO mcsMerchantDTO) {
+        mcsMerchantDTO.setUpdatedBy(this.getUserId());
+        return communityService.putMcsMerchant(mcsMerchantDTO);
+    }
+
+    @ApiOperation(value = "查询数字商业街商家详情", response = McsMerchantVO.class)
+    @ApiImplicitParam(name = "merchantId", value = "商家id", required = true)
+    @GetMapping("/merchant/get")
+    public R getMcsMerchant(@RequestParam("merchantId") Long merchantId) {
+        return communityService.getMcsMerchant(merchantId);
+    }
+
+    @ApiOperation(value = "新增产品信息")
+    @PostMapping("/product/add")
+    public R addMcsProduct(@RequestBody @Validated(AddGroup.class) McsProductDTO mcsProductDTO) {
+        Long userId = this.getUserId();
+        mcsProductDTO.setCreatedBy(userId);
+        mcsProductDTO.setUpdatedBy(userId);
+        return communityService.addMcsProduct(mcsProductDTO);
+    }
+
+    @ApiOperation(value = "编辑产品信息")
+    @PutMapping("/product/put")
+    public R putMcsProduct(@RequestBody @Validated(PutGroup.class) McsProductDTO mcsProductDTO) {
+        mcsProductDTO.setUpdatedBy(this.getUserId());
+        return communityService.putMcsProduct(mcsProductDTO);
+    }
+
+    @ApiOperation(value = "删除产品信息")
+    @ApiImplicitParam(name = "productId", value = "产品id", required = true)
+    @DeleteMapping("/product/delete")
+    public R deleteMcsProduct(@RequestParam("productId") Long productId) {
+        return communityService.deleteMcsProduct(productId, this.getUserId());
+    }
+
+    @ApiOperation(value = "上架/下架产品信息")
+    @PutMapping("/product/setShelf")
+    public R setShelfForMcsProduct(@RequestBody @Valid SetShelfForProductDTO setShelfForProductDTO) {
+        setShelfForProductDTO.setUpdatedBy(this.getUserId());
+        return communityService.setShelfForMcsProduct(setShelfForProductDTO);
+    }
+
+    @ApiOperation(value = "分页查询产品信息", response = McsProductVO.class)
+    @PostMapping("/product/page")
+    public R pageMcsProduct(@RequestBody @Valid PageMcsProductDTO pageMcsProductDTO) {
+        pageMcsProductDTO.setUserId(this.getUserId());
+        return communityService.pageMcsProduct(pageMcsProductDTO);
+    }
+
+    @ApiOperation(value = "分页查询评价记录", response = McsEvaluateVO.class)
+    @PostMapping("/evaluate/page")
+    public R pageMcsEvaluate(@RequestBody @Valid PageMcsEvaluateDTO pageMcsEvaluateDTO) {
+        return communityService.pageMcsEvaluate(pageMcsEvaluateDTO);
+    }
+
+    @ApiOperation(value = "查询评价记录详情", response = McsEvaluateVO.class)
+    @ApiImplicitParam(name = "evaluateId", value = "评论id", required = true)
+    @GetMapping("/evaluate/get")
+    public R getMcsEvaluate(@RequestParam("evaluateId") Long evaluateId) {
+        return communityService.getMcsEvaluate(evaluateId);
+    }
+
+    @ApiOperation(value = "删除评价记录")
+    @ApiImplicitParam(name = "evaluateId", value = "评论id", required = true)
+    @DeleteMapping("/evaluate/delete")
+    public R deleteMcsEvaluate(@RequestParam("evaluateId") Long evaluateId) {
+        return communityService.deleteMcsEvaluate(evaluateId);
+    }
+}

--
Gitblit v1.7.1