From fa668c325f2dac348fb9f80c0c6c679f9ce1e41b Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 10 三月 2026 18:28:17 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDict.java                   |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java         |   94 ++++--
 server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsSkuResponse.java       |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityReplyCommentDTO.java  |    6 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java                   |    6 
 server/dmmall_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java                       |   23 +
 server/dmmall_service/src/main/java/com/doumee/dao/business/IntegralMapper.java                   |    3 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDictData.java               |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/web/request/AfterSaleApplyRequest.java         |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java        |   34 +-
 server/dmmall_service/src/main/java/com/doumee/core/utils/aliyun/ALiYunSmSUtil.java               |    6 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java     |   19 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java               |    2 
 server/dmmall_service/src/main/resources/mappers/SystemMenuMapper.xml                             |   16 
 server/dmmall_service/src/main/resources/mappers/SystemDictDataMapper.xml                         |    6 
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java                 |    3 
 server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityCommentDTO.java       |    4 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java      |    4 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java   |  100 +++++--
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java |    7 
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Collect.java                    |    4 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPosition.java               |    6 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java               |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsSkuMapper.java                   |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java           |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java    |   99 ++++---
 server/dmmall_service/src/main/resources/mappers/SystemPositionMapper.xml                         |   16 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPermission.java             |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java       |    2 
 server/dmmall_admin/src/main/java/com/doumee/api/business/CommentController.java                  |   14 
 server/dmmall_service/src/main/resources/mappers/SystemDictMapper.xml                             |    6 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java               |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartment.java             |    2 
 server/dmmall_service/src/main/resources/mappers/SystemPermissionMapper.xml                       |   18 
 server/dmmall_web/src/main/java/com/doumee/api/web/CommentApi.java                                |   14 
 server/dmmall_service/src/main/resources/application-dev.yml                                      |   11 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java       |   24 +
 server/dmmall_service/src/main/resources/application-pro.yml                                      |   12 
 server/dmmall_admin/src/main/resources/application.yml                                            |    2 
 server/dmmall_service/src/main/resources/mappers/SystemDataPermissionMapper.xml                   |    8 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUserRole.java               |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java     |    2 
 server/dmmall_service/src/main/resources/mappers/SystemDepartmentMapper.xml                       |   10 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java                   |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRole.java                   |    2 
 server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java                          |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java         |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java      |   83 ++++--
 server/dmmall_service/src/main/java/com/doumee/service/business/CommentService.java               |    2 
 server/dmmall_service/src/main/resources/mappers/SystemUserMapper.xml                             |   14 
 server/dmmall_web/src/main/resources/application.yml                                              |    2 
 server/dmmall_service/src/main/resources/mappers/SystemRoleMapper.xml                             |   10 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java         |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java         |    2 
 54 files changed, 462 insertions(+), 264 deletions(-)

diff --git a/server/dmmall_admin/src/main/java/com/doumee/api/business/CommentController.java b/server/dmmall_admin/src/main/java/com/doumee/api/business/CommentController.java
index c729db0..1e07049 100644
--- a/server/dmmall_admin/src/main/java/com/doumee/api/business/CommentController.java
+++ b/server/dmmall_admin/src/main/java/com/doumee/api/business/CommentController.java
@@ -30,13 +30,13 @@
     @Autowired
     private CommentService commentService;
 
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:comment:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        commentService.deleteById(id);
-        return ApiResponse.success(null);
-    }
+//    @ApiOperation("鏍规嵁ID鍒犻櫎")
+//    @GetMapping("/delete/{id}")
+//    @RequiresPermissions("business:comment:delete")
+//    public ApiResponse deleteById(@PathVariable Integer id) {
+//        commentService.deleteById(id);
+//        return ApiResponse.success(null);
+//    }
 
     @ApiOperation("鎵归噺鍒犻櫎")
     @GetMapping("/delete/batch")
diff --git a/server/dmmall_admin/src/main/resources/application.yml b/server/dmmall_admin/src/main/resources/application.yml
index 1df4a1a..b3e6363 100644
--- a/server/dmmall_admin/src/main/resources/application.yml
+++ b/server/dmmall_admin/src/main/resources/application.yml
@@ -8,7 +8,7 @@
   #  application:
   #    name: doumeemes
   profiles:
-    active: dev
+    active: pro
 
   # JSON杩斿洖閰嶇疆
   jackson:
diff --git a/server/dmmall_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java b/server/dmmall_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
index 3fdc912..f6978ea 100644
--- a/server/dmmall_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
+++ b/server/dmmall_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
@@ -1,10 +1,13 @@
 package com.doumee.config.Jwt;
 
+import com.alibaba.fastjson.JSONObject;
 import com.doumee.config.annotation.LoginRequired;
 import com.doumee.config.annotation.LoginShopRequired;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Shop;
 import io.jsonwebtoken.JwtException;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,7 +23,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.lang.reflect.Method;
+import java.util.Objects;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
@@ -103,6 +106,11 @@
             if(StringUtils.isBlank(tokenRedis)){
                 throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
             }
+            Member member = JSONObject.parseObject(tokenRedis, Member.class);
+            if(Objects.isNull(member)||StringUtils.isBlank(member.getOpenId())){
+                throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
+            }
+            String openid = member.getOpenId();
             Integer memberId = getTokenId(token);
             Integer isDeleted = dao.queryForObject(" select COALESCE(ISDELETED,0)  from Member where id  = ?", Integer.class, memberId);
             if(isDeleted== Constants.ONE){
@@ -114,6 +122,10 @@
             }
             if(isForbidden == Constants.TWO){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸叉敞閿�,璇疯仈绯荤鐞嗗憳");
+            }
+            String dbOpenid = dao.queryForObject(" select ifnull(open_id,'')  from Member where id  = ?", String.class, memberId);
+            if(StringUtils.isBlank(dbOpenid)||!openid.equals(dbOpenid)){
+                throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"宸茶繃鏈燂紝璇烽噸鏂扮櫥褰�");
             }
             Integer count = dao.queryForObject("select count(1) from Member where id  = ?", Integer.class, memberId);
             if (count != null && count > 0) {
@@ -138,6 +150,11 @@
             if(StringUtils.isBlank(tokenRedis)){
                 throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
             }
+            Shop shop = JSONObject.parseObject(tokenRedis, Shop.class);
+            if(Objects.isNull(shop)||StringUtils.isBlank(shop.getOpenId())){
+                throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
+            }
+            String openid = shop.getOpenId();
             Integer shopId = getTokenId(token);
             Integer isDeleted = dao.queryForObject(" select COALESCE(ISDELETED,0)  from shop where id  = ?", Integer.class, shopId);
             if(isDeleted== Constants.ONE){
@@ -147,6 +164,10 @@
             if(isForbidden== Constants.ONE){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
             }
+            String dbOpenid = dao.queryForObject(" select ifnull(open_id,'')  from shop where id  = ?", String.class, shopId);
+            if(StringUtils.isBlank(dbOpenid)||!openid.equals(dbOpenid)){
+                throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"宸茶繃鏈燂紝璇烽噸鏂扮櫥褰�");
+            }
             Integer count = dao.queryForObject("select count(1) from shop where id  = ?", Integer.class, shopId);
             if (count != null && count > 0) {
                 request.setAttribute(JwtTokenUtil.ShopId_Name, shopId);
diff --git a/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
index ba8ae45..5caab6b 100644
--- a/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1385,7 +1385,7 @@
         // 鍦烘櫙鐮侊紝涓庡墠绔害瀹氾紝鏈�缁堟槸闇�瑕佸墠绔В鏋�
         body.put("scene", scene);
         // 姝e紡鐗堜负 "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop"銆傞粯璁ゆ槸姝e紡鐗堛��
-        String env_version = "develop";
+        String env_version = "trial";
         body.put("env_version", env_version);
         if(isUsePage){
             body.put("page", page);
diff --git a/server/dmmall_service/src/main/java/com/doumee/core/utils/aliyun/ALiYunSmSUtil.java b/server/dmmall_service/src/main/java/com/doumee/core/utils/aliyun/ALiYunSmSUtil.java
index 5f760fe..48053a3 100644
--- a/server/dmmall_service/src/main/java/com/doumee/core/utils/aliyun/ALiYunSmSUtil.java
+++ b/server/dmmall_service/src/main/java/com/doumee/core/utils/aliyun/ALiYunSmSUtil.java
@@ -30,7 +30,7 @@
          * accessSecret 鑷繁鐨勭敤鎴穉ccessSecret
          */
         DefaultProfile profile = DefaultProfile.getProfile(
-                "cn-hangzhou", "LTAI5tP56bE38bWvqqfSRkCQ", "lXcIyDrc9K01x3FjSgZqcKlrHwsE8b");
+                "cn-hangzhou", "LTAI5tDuA9DXBJvVfJfMb19L", "IUsWIhUXd9pEgTNEkz1b3POI3javKN");
         IAcsClient client = new DefaultAcsClient(profile);
         // 鏋勫缓璇锋眰锛�
         CommonRequest request = new CommonRequest();
@@ -42,9 +42,9 @@
         // 鎵嬫満鍙�
         request.putQueryParameter("PhoneNumbers", phone);
         // 鐭俊绛惧悕
-        request.putQueryParameter("SignName", "璞嗙背绉戞妧");
+        request.putQueryParameter("SignName", "鍚堣偉榧庡厓鏃嬪帇绉戞妧");
         // 鐭俊妯$増CODE
-        request.putQueryParameter("TemplateCode", "SMS_243960729");
+        request.putQueryParameter("TemplateCode", "SMS_332555204");
         // 鏋勫缓鐭俊楠岃瘉鐮�
         request.putQueryParameter("TemplateParam", JSONObject.toJSONString(codeMap));
         try {
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsSkuMapper.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsSkuMapper.java
index a4113ce..5d70e94 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsSkuMapper.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsSkuMapper.java
@@ -20,7 +20,7 @@
      * @param goodsId
      * @return
      */
-    @Select(" select s.* , g.IMGURL as goodsImgUrl from goods_sku s  left join goods g on s.GOODS_ID = g.id  where   s.isdeleted = 0 and  s.goods_Id = #{goodsId} ")
+    @Select(" select s.* , s.stock as stockStr , g.IMGURL as goodsImgUrl from goods_sku s  left join goods g on s.GOODS_ID = g.id  where   s.isdeleted = 0 and  s.goods_Id = #{goodsId} ")
     List<GoodsSkuResponse> getSkuResponseList(@Param("goodsId") Integer goodsId);
 
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/IntegralMapper.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/IntegralMapper.java
index b0b8567..9cddfde 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/IntegralMapper.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/IntegralMapper.java
@@ -2,11 +2,12 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.business.model.Integral;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
 
 /**
  * @author 姹熻箘韫�
  * @date 2023/03/21 15:48
  */
-public interface IntegralMapper extends BaseMapper<Integral> {
+public interface IntegralMapper extends MPJJoinMapper<Integral> {
 
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Collect.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Collect.java
index 1901852..cc4972c 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Collect.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Collect.java
@@ -115,6 +115,10 @@
     @TableField(exist = false)
     private String activityImgurl;
 
+    @ApiModelProperty(value = "鍒嗙被棰滆壊")
+    @TableField(exist = false)
+    private String param;
+
 
 
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java
index 13a8ba5..c8a63d7 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java
@@ -221,6 +221,9 @@
     @ApiModelProperty(value = "閫�娆惧娉�", example = "1")
     private Integer refundInfo;
 
+    @ApiModelProperty(value = "閫�娆鹃厤缃俊鎭�", example = "1")
+    private String refundConfigInfo;
+
     @ApiModelProperty(value = "鏂囦欢鍦板潃")
     @TableField(exist = false)
     private String resourcePath;
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java
index 9f2e4b9..c907446 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java
@@ -20,7 +20,7 @@
  */
 @Data
 @ApiModel("鏁版嵁鏉冮檺閰嶇疆")
-@TableName("SYSTEM_DATA_PERMISSION")
+@TableName("system_data_permission")
 public class SystemDataPermission implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartment.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartment.java
index 142e88b..4b9c41d 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartment.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartment.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.doumee.core.constants.OperaType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -21,6 +22,7 @@
  */
 @Data
 @ApiModel("閮ㄩ棬")
+@TableName("system_department")
 public class SystemDepartment implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java
index 292901a..35edc65 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDepartmentUser.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -16,6 +17,7 @@
  */
 @Data
 @ApiModel("閮ㄩ棬鐢ㄦ埛")
+@TableName("system_department_user")
 public class SystemDepartmentUser implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDict.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDict.java
index 3b7729a..6ea2820 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDict.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDict.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.doumee.core.constants.OperaType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -19,6 +20,7 @@
  */
 @Data
 @ApiModel("瀛楀吀")
+@TableName("system_dict")
 public class SystemDict implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDictData.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDictData.java
index a28f058..f0fe35c 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDictData.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemDictData.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.doumee.core.constants.OperaType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -19,6 +20,7 @@
  */
 @Data
 @ApiModel("瀛楀吀鏁版嵁")
+@TableName("system_dict_data")
 public class SystemDictData implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java
index 41ea8dd..8f81707 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemLoginLog.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -18,6 +19,7 @@
  */
 @Data
 @ApiModel("鐧诲綍鏃ュ織")
+@TableName("system_login_log")
 public class SystemLoginLog {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java
index be604dc..5d13e08 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemMenu.java
@@ -1,12 +1,9 @@
 package com.doumee.dao.system.model;
 
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.*;
 import com.doumee.core.constants.OperaType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
@@ -21,6 +18,7 @@
  */
 @Data
 @ApiModel("绯荤粺鑿滃崟")
+@TableName("system_menu")
 public class SystemMenu implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPermission.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPermission.java
index 0a51540..d71469e 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPermission.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPermission.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.doumee.core.constants.OperaType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -19,6 +20,7 @@
  */
 @Data
 @ApiModel("绯荤粺鏉冮檺")
+@TableName("system_permission")
 public class SystemPermission implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPosition.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPosition.java
index 9999c3e..200f249 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPosition.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPosition.java
@@ -1,12 +1,9 @@
 package com.doumee.dao.system.model;
 
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.*;
 import com.doumee.core.constants.OperaType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
@@ -21,6 +18,7 @@
  */
 @Data
 @ApiModel("宀椾綅")
+@TableName("system_position")
 public class SystemPosition implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java
index 80407e9..05d5fc5 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemPositionUser.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -16,6 +17,7 @@
  */
 @Data
 @ApiModel("宀椾綅鐢ㄦ埛")
+@TableName("system_position_user")
 public class SystemPositionUser implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRole.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRole.java
index 38a7b9e..b3b75a6 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRole.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRole.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.doumee.core.constants.OperaType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -19,6 +20,7 @@
  */
 @Data
 @ApiModel("绯荤粺瑙掕壊")
+@TableName("`system_role`")
 public class SystemRole implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java
index 37b0608..4fbcc6b 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRoleMenu.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -16,6 +17,7 @@
  */
 @Data
 @ApiModel("瑙掕壊鑿滃崟鍏宠仈")
+@TableName("system_role_menu")
 public class SystemRoleMenu implements Serializable {
 
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java
index 5caea59..b49f195 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemRolePermission.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -16,6 +17,7 @@
  */
 @Data
 @ApiModel("瑙掕壊鏉冮檺鍏宠仈")
+@TableName("system_role_permission")
 public class SystemRolePermission implements Serializable {
 
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java
index 7f9ddab..8bf39f1 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemTraceLog.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -17,6 +18,7 @@
  */
 @Data
 @ApiModel("璺熻釜鏃ュ織")
+@TableName("system_trace_log")
 public class SystemTraceLog implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
index 2eead31..08c67e7 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -24,7 +24,7 @@
  */
 @Data
 @ApiModel("绯荤粺鐢ㄦ埛")
-@TableName("`SYSTEM_USER`")
+@TableName("`system_user`")
 public class SystemUser implements Serializable {
 
     @TableId(type = IdType.AUTO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUserRole.java b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUserRole.java
index 5ce3e2e..791325c 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUserRole.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/system/model/SystemUserRole.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.system.model;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -16,6 +17,7 @@
  */
 @Data
 @ApiModel("鐢ㄦ埛瑙掕壊鍏宠仈")
+@TableName("`system_user_role`")
 public class SystemUserRole implements Serializable {
 
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityCommentDTO.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityCommentDTO.java
index 3b7fbfa..afde5e4 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityCommentDTO.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityCommentDTO.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.web.dto.activity;
 
+import com.doumee.core.annotation.excel.ExcelColumn;
 import com.doumee.dao.business.model.Multifile;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -20,6 +21,9 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createDate;
 
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    private Integer isdeleted;
+
     @ApiModelProperty(value = "鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級", example = "1")
     private Integer memberId;
 
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityReplyCommentDTO.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityReplyCommentDTO.java
index 8ff14e2..2f7657d 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityReplyCommentDTO.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityReplyCommentDTO.java
@@ -17,14 +17,16 @@
     @ApiModelProperty(value = "涓婚敭", example = "1")
     private Integer id;
 
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    private Integer isdeleted;
 
     @ApiModelProperty(value = "鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級", example = "1")
     private Integer memberId;
 
-    @ApiModelProperty(value = "鐢ㄦ埛鏄电О" )
+    @ApiModelProperty(value = "鍙戝竷鐢ㄦ埛鏄电О" )
     private String nikeName;
 
-    @ApiModelProperty(value = "鐢ㄦ埛鏄电О" )
+    @ApiModelProperty(value = "鐢ㄦ埛澶村儚" )
     private String memberImgUrl;
 
     @ApiModelProperty(value = "瀵硅薄缂栫爜锛堝叧鑱攁ctivity琛級", example = "1")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/AfterSaleApplyRequest.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/AfterSaleApplyRequest.java
index d92bc71..b1c8a74 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/AfterSaleApplyRequest.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/AfterSaleApplyRequest.java
@@ -24,7 +24,7 @@
     @ApiModelProperty(value = "鏄惁鎵i櫎杩旇繕缁忛攢鍟嗙Н鍒嗭細0=鍚︼紱1=鏄�")
     private Integer returnShopIntegralStatus;
 
-    @ApiModelProperty(value = "鏄惁鎵i櫎杩旇繕鐢ㄦ埛绉垎锛�0=鍚︼紱1=鏄�")
+    @ApiModelProperty(value = "鏄惁鎵i櫎宸茶繑杩樼敤鎴风Н鍒嗭細0=鍚︼紱1=鏄�")
     private Integer returnIntegralStatus;
 
     @ApiModelProperty(value = "鏄惁鎵i櫎杩旇繕缁忛攢鍟嗙粨绠楅噾棰濓細0=鍚︼紱1=鏄�")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsSkuResponse.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsSkuResponse.java
index 87a8aa7..3bf036c 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsSkuResponse.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsSkuResponse.java
@@ -57,4 +57,6 @@
     @ApiModelProperty(value = "涓嬫爣鏁版嵁", example = "1")
     private String indexData;
 
+    @ApiModelProperty(value = "搴撳瓨閲廠tr", example = "1")
+    private String stockStr;
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/CommentService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/CommentService.java
index f7c4102..a971358 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/CommentService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/CommentService.java
@@ -31,7 +31,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id,Integer memberId);
 
     /**
      * 鍒犻櫎
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
index bab7944..62db222 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
@@ -1049,78 +1050,81 @@
         aftersale.setReturnShopSettlement(BigDecimal.ZERO);
         aftersale.setCode(getNextInCode());
 
-        //璁㈠崟閫�鍥炶繑鍥炵粰缁忛攢鍟嗙殑绉垎
-        if(Objects.nonNull(goodsorder.getDistributionShopId())){
-            Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
-            //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
-            if(Objects.nonNull(shop)&&shop.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
-                //寮�鍚簡鎵i櫎杩旇繕缁忛攢鍟嗙Н鍒�
-                if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopIntegralStatus(),Constants.ONE)){
-                    //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
-                    aftersale.setReturnShopIntegral(shop.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
-                            ?goodsorder.getReturnCustomerIntegral():shop.getIntegral());
-                    DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
-                    dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
-                    dealIntegralRequest.setDealType(Constants.ONE);
-                    dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
-                    dealIntegralRequest.setObjId(goodsorder.getId());
-                    dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
-                    dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_INTEGRAL);
-                    integralService.dealShopIntegral(dealIntegralRequest,null);
-                }
+        //璁㈠崟閫�鍥� 鎵i櫎宸茬粨绠� 璁㈠崟璧犻�佺Н鍒� - 缁忛攢鍟�
+        if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopIntegralStatus(),Constants.ONE)){
+            //璁㈠崟閫�鍥炶繑鍥炵粰缁忛攢鍟嗙殑绉垎
+            if(Objects.nonNull(goodsorder.getDistributionShopId())){
+                Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
+                //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
+                if(Objects.nonNull(shop)&&shop.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+                        //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
+                        aftersale.setReturnShopIntegral(shop.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
+                                ?goodsorder.getReturnCustomerIntegral():shop.getIntegral());
+                        DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+                        dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+                        dealIntegralRequest.setDealType(Constants.ONE);
+                        dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
+                        dealIntegralRequest.setObjId(goodsorder.getId());
+                        dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
+                        dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_INTEGRAL);
+                        integralService.dealShopIntegral(dealIntegralRequest,null);
+                    }
             }
         }
 
-        //璁㈠崟閫�鍥� 缁忛攢鍟嗙粨绠椾綑棰�
-        if(Objects.nonNull(goodsorder.getDistributionShopId())){
-            Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
-            //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
-            if(Objects.nonNull(shop)&&shop.getAmount().compareTo(BigDecimal.ZERO)>Constants.ZERO){
-                //寮�鍚簡鎵i櫎杩旇繕缁忛攢鍟嗙Н鍒�
-                if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopSettlementStatus(),Constants.ONE)){
-                    //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
-                    aftersale.setReturnShopSettlement(shop.getAmount().compareTo(goodsorder.getShopSettlement())>Constants.ZERO
-                            ?goodsorder.getShopSettlement():shop.getAmount());
-                    DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
-                    dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
-                    dealIntegralRequest.setDealType(Constants.ONE);
-                    dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
-                    dealIntegralRequest.setObjId(goodsorder.getId());
-                    dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
-                    dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_CASH);
-                    integralService.dealShopAmount(dealIntegralRequest);
-
-                }
+        //璁㈠崟閫�鍥� 鎵i櫎宸茬粨绠� 缁撶畻浣欓 - 缁忛攢鍟�
+        if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopSettlementStatus(),Constants.ONE)){
+            if(Objects.nonNull(goodsorder.getDistributionShopId())){
+                Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
+                //鏌ヨ璁㈠崟鏄庣粏缁忛攢鍟嗙粨绠楅噾棰�
+                List<GoodsorderDetail> list = goodsorderDetailMapper.selectList(new QueryWrapper<GoodsorderDetail>().lambda()
+                        .eq(GoodsorderDetail::getIsdeleted,Constants.ZERO)
+                        .eq(GoodsorderDetail::getOrderId,goodsorder.getId())
+                        .isNotNull(GoodsorderDetail::getShopSettlement)
+                );
+                //缁忛攢鍟嗗瓨鍦ㄥ墿浣欎綑棰�
+                if(Objects.nonNull(shop)&&shop.getAmount().compareTo(BigDecimal.ZERO)>Constants.ZERO&&list.size()>Constants.ZERO){
+                        BigDecimal total = list.stream().map(i->i.getShopSettlement()).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
+                        aftersale.setReturnShopSettlement(shop.getAmount().compareTo(total)>Constants.ZERO
+                                ?total:shop.getAmount());
+                        DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+                        dealIntegralRequest.setIntegralNum(aftersale.getReturnShopSettlement());
+                        dealIntegralRequest.setDealType(Constants.ONE);
+                        dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
+                        dealIntegralRequest.setObjId(goodsorder.getId());
+                        dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
+                        dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_CASH);
+                        dealIntegralRequest.setParam1(goodsorder.getCode().toString());
+                        integralService.dealShopAmount(dealIntegralRequest);
+                    }
             }
         }
 
-        //璁㈠崟閫�鍥� 杩旇繕缁欏鎴风殑绉垎
-        if(Objects.nonNull(goodsorder.getDistributionShopId())){
+        //鎵i櫎宸茶繑杩樼敤鎴风Н鍒� - 鐢ㄦ埛
+        if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)){
             Member member = memberMapper.selectById(goodsorder.getMemberId());
             //瀹㈡埛瀛樺湪鍓╀綑绉垎
             if(Objects.nonNull(member)&&member.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
-                //寮�鍚簡鎵i櫎杩旇繕瀹㈡埛绉垎
-                if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)){
                     //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
                     aftersale.setReturnIntegral(member.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
                             ?goodsorder.getReturnCustomerIntegral():member.getIntegral());
                     DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
-                    dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+                    dealIntegralRequest.setIntegralNum(aftersale.getReturnIntegral());
                     dealIntegralRequest.setDealType(Constants.ONE);
                     dealIntegralRequest.setMemberId(member.getId());
                     dealIntegralRequest.setObjId(goodsorder.getId());
                     dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
                     dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND_RETURN);
                     integralService.dealIntegral(dealIntegralRequest,null);
-                }
             }
         }
 
         //璁㈠崟閫�娆� 杩旇繕瀹㈡埛浣跨敤鐨勭Н鍒�
-        if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)
+        if(Constants.equalsInteger(afterSaleApplyRequest.getReturnUseIntegralStatus(),Constants.ONE)
             && goodsorder.getUseIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
             DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
-            dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+            dealIntegralRequest.setIntegralNum(goodsorder.getUseIntegral());
             dealIntegralRequest.setDealType(Constants.ZERO);
             dealIntegralRequest.setMemberId(goodsorder.getMemberId());
             dealIntegralRequest.setObjId(goodsorder.getId());
@@ -1172,6 +1176,7 @@
                 .set(Goodsorder::getRefundMoney, afterSaleApplyRequest.getMoney())
                 .set(Goodsorder::getRefundUserId, loginUserInfo.getId())
                 .set(Goodsorder::getRefundInfo, afterSaleApplyRequest.getRemark())
+                .set(Goodsorder::getRefundConfigInfo, JSONObject.toJSONString(afterSaleApplyRequest))
                 .eq(Goodsorder::getId, goodsorder.getId())
         );
 
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java
index 18ddbf7..103ec90 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java
@@ -234,7 +234,8 @@
                     .selectAs(Goods::getName,Collect::getName)
                     .selectAs(Goods::getPrice,Collect::getPrice)
                     .selectAs(Goods::getImgurl,Collect::getActivityImgurl)
-                    .select(" ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t1.id ),0) ", Collect::getLinePrice)
+                    .select("  ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t1.id and gs.ISDELETED = 0  ),0)   ",Goods::getMinPrice)
+                    .select("  ifnull(( select min(gs.SHOW_PRICE) from goods_sku gs where gs.GOODS_ID = t1.id and gs.ISDELETED = 0 ),0)   ",Goods::getLinePrice)
                     .leftJoin(Goods.class,Goods::getId,Collect::getObjId)
                     .eq(Collect::getIsdeleted,Constants.ZERO)
                     .eq(Collect::getMemberId,memberId)
@@ -252,6 +253,7 @@
                     .selectAs(Activity::getCreateDate,Collect::getReleaseDate)
                     .selectAs(Activity::getLooknum,Collect::getReadNum)
                     .selectAs(Activity::getImgurl,Collect::getActivityImgurl)
+                    .selectAs(Labels::getParam,Collect::getParam)
                     .selectAs(Labels::getName,Collect::getLabelName)
                     .selectAs(Activity::getContent,Collect::getContent)
                     .leftJoin(Activity.class,Activity::getId,Collect::getObjId)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java
index 6512e54..e9f20e7 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java
@@ -12,14 +12,8 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.CommentJoinMapper;
-import com.doumee.dao.business.CommentMapper;
-import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.MultifileMapper;
-import com.doumee.dao.business.model.Activity;
-import com.doumee.dao.business.model.Comment;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Multifile;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.dto.CommentDTO;
 import com.doumee.dao.web.dto.ZanDTO;
 import com.doumee.dao.web.dto.activity.ActivityCommentDTO;
@@ -57,6 +51,9 @@
     private MemberMapper memberMapper;
 
     @Autowired
+    private NoticeMapper noticeMapper;
+
+    @Autowired
     private ZanService zanService;
 
     @Autowired
@@ -90,14 +87,23 @@
             );
             reply = Optional.ofNullable(reply).orElseThrow(() -> new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍥炲鐩爣涓嶅瓨鍦�"));
             target.setReplyId(reply.getId());
-            target.setReplyMemberId(reply.getMemberId());
-            target.setReplyMemberNikeName(reply.getReplyMemberNikeName());
-            target.setCommentId(reply.getId());
-            target.setCommentMemberId(reply.getMemberId());
+            target.setCommentId(Objects.isNull(reply.getCommentId())?reply.getId():reply.getCommentId());
             target.setType(Constants.ONE);
-            target.setCommentId(reply.getCommentId());
-            target.setCommentMemberId(reply.getCommentMemberId());
-        }else if (comment.getCommentId() != null ){
+            target.setCommentMemberId(reply.getMemberId());
+
+            if(!Constants.equalsInteger(memberId,reply.getMemberId())){
+                Member member = memberMapper.selectById(memberId);
+                //璇勮鍙戦�佺敤鎴锋秷鎭�
+                //鍙戦�佹牳閿�閫氱煡
+                Notice notice = Notice.getNotice(
+                        Constants.NoticeType.COMMENT,
+                        reply.getMemberId(),
+                        reply.getActivityId()
+                );
+                notice.setContent(notice.getContent().replace("{param}",member.getNickname()));
+                noticeMapper.insert(notice);
+            }
+        }else if(comment.getCommentId() != null ){
             Comment reply = commentMapper.selectById(comment.getCommentId());
             reply = Optional.ofNullable(reply).orElseThrow(() -> new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "涓�绾ц瘎璁虹洰鏍囦笉瀛樺湪"));
             target.setCommentId(reply.getCommentId());
@@ -138,8 +144,18 @@
 
 
     @Override
-    public void deleteById(Integer id) {
-        commentMapper.deleteById(id);
+    public void deleteById(Integer id,Integer memberId) {
+        Comment comment = commentMapper.selectById(id);
+        if(Objects.isNull(comment)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "璇勮涓嶅瓨鍦�");
+        }
+        if(!Constants.equalsInteger(memberId,comment.getMemberId())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "闈炴偍鐨勮瘎璁烘棤鏉冮檺鍒犻櫎");
+        }
+        commentMapper.update(new UpdateWrapper<Comment>().lambda()
+                .set(Comment::getIsdeleted,Constants.ONE)
+                .eq(Comment::getId,id)
+        );
     }
 
     @Override
@@ -247,7 +263,7 @@
         queryWrapper.eq(Comment::getType, Constants.ZERO);
         queryWrapper.eq(Comment::getStatus, Constants.ZERO);
         queryWrapper.eq(Comment::getActivityId,pageWrap.getModel().getActivityId());
-        queryWrapper.orderByDesc(Comment::getId);
+        queryWrapper.orderByAsc(Comment::getId);
         IPage<ActivityCommentDTO> result = commentJoinMapper.selectJoinPage(page, ActivityCommentDTO.class, queryWrapper);
 
         if (CollectionUtils.isEmpty(result.getRecords())){
@@ -258,6 +274,7 @@
         MPJLambdaWrapper<Comment> replyWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
         replyWrapper.selectAs(Comment::getId,ActivityReplyCommentDTO::getId);
+        replyWrapper.selectAs(Comment::getReplyId,ActivityReplyCommentDTO::getReplyId);
         if(Objects.isNull(pageWrap.getModel().getMemberId())){
             replyWrapper.select(" 0 ",ActivityReplyCommentDTO::getZanStatus);
         }else{
@@ -271,11 +288,12 @@
         replyWrapper.selectAs(Member::getImgurl,ActivityReplyCommentDTO::getMemberImgUrl);
         replyWrapper.selectCount(Comment::getId,ActivityReplyCommentDTO::getReplyCount);
         replyWrapper.selectMin(Comment::getCreateDate,ActivityReplyCommentDTO::getCreateDate);
+        replyWrapper.select("reply.NICKNAME",ActivityReplyCommentDTO::getReplyMemberNikeName);
         replyWrapper.leftJoin(Member.class,Member::getId,Comment::getMemberId);
+        replyWrapper.leftJoin("member reply on reply.id = t.REPLY_MEMBER_ID");
         replyWrapper.eq(Comment::getType, Constants.ONE);
         replyWrapper.eq(Comment::getStatus, Constants.ZERO);
         replyWrapper.in(Comment::getCommentId,commentIds);
-        replyWrapper.orderByDesc(Comment::getId);
         replyWrapper.groupBy(Comment::getCommentId);
 
         List<ActivityReplyCommentDTO> activityCommentDTOS = commentJoinMapper.selectJoinList(ActivityReplyCommentDTO.class, replyWrapper);
@@ -300,17 +318,21 @@
             }
         }
         result.getRecords().forEach(s->{
-            s.setMemberImgUrl(StringUtils.isNotBlank(s.getMemberImgUrl())?memberFile+s.getMemberImgUrl():null);
-            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
-                s.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+            if(Constants.equalsInteger(s.getIsdeleted(),Constants.ONE)){
+                s.setContent("璇ヨ瘎璁哄凡琚師浣滆�呭垹闄�");
+            }else{
+                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+                    s.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+                }
             }
+            s.setMemberImgUrl(StringUtils.isNotBlank(s.getMemberImgUrl())?memberFile+s.getMemberImgUrl():null);
             ZanDTO object = MapUtils.getObject(count, s.getId());
             ActivityReplyCommentDTO replyCommentDTO = collect.get(s.getId());
             if(Objects.nonNull(replyCommentDTO)){
                 ZanDTO replyZan = MapUtils.getObject(count, replyCommentDTO.getId());
                 replyCommentDTO.setZanCount(replyZan != null ? replyZan.getCount() : 0);
                 if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
-                    replyCommentDTO.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+                    replyCommentDTO.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(replyCommentDTO.getId())).collect(Collectors.toList()));
                 }
                 replyCommentDTO.setMemberImgUrl(StringUtils.isNotBlank(replyCommentDTO.getMemberImgUrl())?memberFile+replyCommentDTO.getMemberImgUrl():null);
                 s.setActivityReplyCommentDTO(replyCommentDTO);
@@ -338,11 +360,11 @@
         queryWrapper.select(" (select count(1) from zan z where z.OBJ_ID = t.id and z.ISDELETED = 0 and z.OBJ_TYPE = 0)  ",ActivityReplyCommentDTO::getZanCount);
         queryWrapper.select("reply.NICKNAME as replyMemberNikeName");
         queryWrapper.leftJoin(Member.class,Member::getId,Comment::getMemberId);
-        queryWrapper.leftJoin("member reply on reply.id = t.REPLY_MEMBER_ID");
+        queryWrapper.leftJoin("member reply on reply.id = t.COMMENT_MEMBER_ID");
         queryWrapper.eq(Comment::getType, Constants.ONE);
         queryWrapper.eq(Comment::getStatus, Constants.ZERO);
         queryWrapper.eq(Comment::getCommentId,pageWrap.getModel().getCommentId());
-        queryWrapper.orderByDesc(Comment::getId);
+        queryWrapper.orderByAsc(Comment::getId);
         IPage<ActivityReplyCommentDTO> result = commentJoinMapper.selectJoinPage(page, ActivityReplyCommentDTO.class, queryWrapper);
         if (CollectionUtils.isEmpty(result.getRecords())){
             return PageData.from(result);
@@ -363,13 +385,16 @@
             }
         }
         List<Integer> integerStream = result.getRecords().stream().map(s -> s.getId()).collect(Collectors.toList());
-
         Map<Integer, ZanDTO> count = zanService.count(integerStream);
         result.getRecords().forEach(s->{
-            s.setMemberImgUrl(StringUtils.isNotBlank(s.getMemberImgUrl())?memberFile+s.getMemberImgUrl():null);
-            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
-                s.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+            if(Constants.equalsInteger(s.getIsdeleted(),Constants.ONE)){
+                s.setContent("璇ヨ瘎璁哄凡琚師浣滆�呭垹闄�");
+            }else{
+                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+                    s.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+                }
             }
+            s.setMemberImgUrl(StringUtils.isNotBlank(s.getMemberImgUrl())?memberFile+s.getMemberImgUrl():null);
             ZanDTO replyZan = MapUtils.getObject(count, s.getId());
             s.setZanCount(replyZan != null ? replyZan.getCount() : 0);
             if (pageWrap.getModel().getCommentId().equals(s.getReplyId())){
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
index 0ce6f17..0d731d5 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -889,9 +889,9 @@
         queryWrapper.eq(pageWrap.getModel().getBrandId() != null, Goods::getBrandId, pageWrap.getModel().getBrandId());
         queryWrapper.eq(pageWrap.getModel().getStatus() != null, Goods::getStatus, pageWrap.getModel().getStatus());
         queryWrapper.in(pageWrap.getModel().getIdList() != null && pageWrap.getModel().getIdList().size()>0, Goods::getId, pageWrap.getModel().getIdList());
-        if(pageWrap.getModel().getShopId() !=null){
-            queryWrapper.orderByAsc("shopPrice");
-        }
+//        if(pageWrap.getModel().getShopId() !=null){
+//            queryWrapper.orderByAsc("shopPrice");
+//        }
         queryWrapper.orderByDesc(Goods::getId);
         IPage<Goods> result = goodsAdminJoinMapper.selectJoinPage(page, Goods.class, queryWrapper);
         initResult(result.getRecords(),pageWrap.getModel().getShopId()==null);
@@ -972,8 +972,8 @@
        GoodsRequest model = pageWrap.getModel();
         MPJLambdaWrapper<Goods> wrapper = new MPJLambdaWrapper<Goods>()
                 .selectAll(Goods.class)
-                .select("  ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t.id ),0)   ",Goods::getMinPrice)
-                .select("  ifnull(( select min(gs.SHOW_PRICE) from goods_sku gs where gs.GOODS_ID = t.id ),0)   ",Goods::getLinePrice)
+                .select("  ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t.id and gs.ISDELETED = 0  ),0)   ",Goods::getMinPrice)
+                .select("  ifnull(( select min(gs.SHOW_PRICE) from goods_sku gs where gs.GOODS_ID = t.id and gs.ISDELETED = 0 ),0)   ",Goods::getLinePrice)
                 .leftJoin(SystemUser.class, SystemUser::getId, Goods::getCreator)
                 .eq(Goods::getIsdeleted,Constants.ZERO)
                 .eq(!Objects.isNull(model) && Objects.nonNull(model.getCategoryId()),
@@ -989,10 +989,10 @@
                 .like(StringUtils.isNotBlank(model.getGoodsName()),Goods::getName,model.getGoodsName());
         if(Objects.nonNull(model.getShopId())){
             wrapper.select("  ifnull( ( select sgr.PRICE from shop_goods_relation sgr where sgr.GOODS_ID = t.ID and sgr.ISDELETED = 0 and sgr.`STATUS` = 0  and sgr.SHOP_ID = "+model.getShopId()+" ) ,0) ",Goods::getExFactoryPrice);
-            wrapper.select(" ifnull(( select sum(gd.GOODS_NUM) from goodsorder_detail gd  inner join goodsorder go on gd.ORDER_ID = go.id  where gd.GOODS_ID = t.`id` and  go.DISTRIBUTION_SHOP_ID = "+model.getShopId()+" ),0) ",Goods::getRealSaleNum);
+            wrapper.select(" ifnull(( select sum(gd.GOODS_NUM) from goodsorder_detail gd  inner join goodsorder go on gd.ORDER_ID = go.id  where go.PAY_STATUS = 1 and gd.GOODS_ID = t.`id` and  go.DISTRIBUTION_SHOP_ID = "+model.getShopId()+" ),0) ",Goods::getRealSaleNum);
 
         }else{
-            wrapper.select(" (( select ifnull(sum(GOODS_NUM),0) from goodsorder_detail gd  where gd.GOODS_ID =  t.id  )) ",Goods::getRealSaleNum);
+            wrapper.select(" ifnull(( select sum(gd.GOODS_NUM) from goodsorder_detail gd  inner join goodsorder go on gd.ORDER_ID = go.id  where go.PAY_STATUS = 1 and gd.GOODS_ID = t.`id` ),0) ",Goods::getRealSaleNum);
         }
 
         if(Objects.nonNull(model.getSortInfo())){
@@ -1000,11 +1000,11 @@
             if(Constants.equalsInteger(model.getSortInfo(),Constants.ZERO)){
                 wrapper.orderByDesc("t.CREATE_DATE");
             }else if(Constants.equalsInteger(model.getSortInfo(),Constants.ONE)){
-                wrapper.orderByAsc("(realSaleNum + t.SALENUM)");
+                wrapper.orderByAsc("(realSaleNum + ifnull(t.SALENUM,0))");
             }else if(Constants.equalsInteger(model.getSortInfo(),Constants.TWO)){
                 wrapper.orderByAsc("minPrice");
             }else if(Constants.equalsInteger(model.getSortInfo(),Constants.THREE)){
-                wrapper.orderByDesc("(realSaleNum + t.SALENUM)");
+                wrapper.orderByDesc("(realSaleNum + ifnull(t.SALENUM,0))");
             }else if(Constants.equalsInteger(model.getSortInfo(),Constants.FOUR)){
                 wrapper.orderByDesc("minPrice");
             }
@@ -1056,13 +1056,21 @@
 
         List<GoodsSkuResponse>  goodsSkuResponseList = goodsSkuMapper.getSkuResponseList(goodsResponse.getId());
         Integer sumStock = Constants.ZERO;
+        Boolean noRestrictions = true;
         for (GoodsSkuResponse goodsSkuResponse:goodsSkuResponseList) {
             goodsSkuResponse.setStock(Objects.isNull(goodsSkuResponse.getStock())?Constants.ZERO:goodsSkuResponse.getStock());
             sumStock = sumStock + goodsSkuResponse.getStock();
+            if(StringUtils.isNotBlank(goodsSkuResponse.getStockStr())){
+                noRestrictions  = false;
+            }
         }
         //鐪熷疄閿�閲� = realSaleNum  - saleNum;
         //鐪熷疄搴撳瓨= sumStock - (realSaleNum  - saleNum)
-        goodsResponse.setStock(sumStock);
+        if(noRestrictions){
+            goodsResponse.setStock(-Constants.ONE);
+        }else{
+            goodsResponse.setStock(sumStock);
+        }
         goodsResponse.setGoodsSkuResponseList(goodsSkuResponseList);
         //Sku鍩虹淇℃伅
         List<SkuResponse> skuResponseList = skuMapper.getSkuResponseList(goodsResponse.getId());
@@ -1084,9 +1092,9 @@
         Goods goodsResponse = goodsMapper.selectOne(
                  new MPJLambdaWrapper<Goods>()
                         .selectAll(Goods.class)
-                        .select(" (( select ifnull(sum(GOODS_NUM),0) from goodsorder_detail gd  where gd.GOODS_ID =  t.id  )) ",Goods::getRealSaleNum)
-                        .select("  ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t.id ),0)   ",Goods::getMinPrice)
-                         .select("  ifnull(( select min(gs.SHOW_PRICE) from goods_sku gs where gs.GOODS_ID = t.id ),0)   ",Goods::getLinePrice)
+                        .select(" ifnull(( select sum(gd.GOODS_NUM) from goodsorder_detail gd  inner join goodsorder go on gd.ORDER_ID = go.id  where go.PAY_STATUS = 1 and gd.GOODS_ID = t.`id`  ),0) ",Goods::getRealSaleNum)
+                        .select("  ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t.id and gs.ISDELETED = 0),0)   ",Goods::getMinPrice)
+                         .select("  ifnull(( select min(gs.SHOW_PRICE) from goods_sku gs where gs.GOODS_ID = t.id and gs.ISDELETED = 0),0)   ",Goods::getLinePrice)
                         .leftJoin(SystemUser.class, SystemUser::getId, Goods::getCreator)
 //                        .eq(Goods::getIsdeleted,Constants.ZERO)
 //                        .eq(Goods::getStatus, Constants.ZERO)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 9c0c299..3680761 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -286,7 +286,7 @@
                     Constants.UserActionType.CHANGE_ORDER_KD,
                     userActionMapper,
                     update.getEditDate(),
-                    new String[]{goodsorder.getKdInfo()},
+                    StringUtils.isNotBlank(goodsorder.getKdInfo())?new String[]{query.getKdInfo()}:null,
                     JSONObject.toJSONString(update) ,
                     query.getKdName()+"(鍗曞彿锛�"+query.getKdCode()+")",
                     goodsorder.getKdName()+"(鍗曞彿锛�"+goodsorder.getKdCode()+")");
@@ -296,7 +296,7 @@
         //鍙戦�佸彂璐х珯鍐呬俊
         Notice notice = Notice.getNotice(
                 Constants.NoticeType.NOTICE_ORDER_SEND,
-                goodsorder.getMemberId(),
+                query.getMemberId(),
                 goodsorder.getId()
         );
         notice.setContent(notice.getContent().replace("{param}",goodsorder.getCode().toString()));
@@ -787,12 +787,13 @@
             if(Objects.isNull(member.getBindShopId())){
                 memberMapper.update(new UpdateWrapper<Member>().lambda()
                         .set(Member::getBindShopId,shop.getId())
+                        .set(Member::getBindShopDate,new Date())
                         .eq(Member::getId,member.getId())
                 );
             }
             goodsorder.setPickUpShopId(shop.getId());
             goodsorder.setDistributionShopId(shop.getId());
-            goodsorder.setLinkname(member.getName());
+            goodsorder.setLinkname(StringUtils.isNotBlank(member.getName())?member.getName():member.getNickname());
             goodsorder.setLinkphone(member.getPhone());
             if(Objects.isNull(member.getBindShopId())){
                 member.setBindShopId(shop.getId());
@@ -835,8 +836,8 @@
                     .eq(MemberCoupon::getId,orderPayConfirmResponse.getMemberCoupon().getId())
             );
         }
-        goodsorder.setReturnCustomerIntegral(getBackIntegral(goodsorder.getPrice(),Constants.ONE));
-        goodsorder.setReturnMemberIntegral(getBackIntegral(goodsorder.getPrice(),Constants.ZERO));
+        goodsorder.setReturnCustomerIntegral(getBackIntegral(goodsorder.getPrice().subtract(goodsorder.getMailPrice()),Constants.ONE));
+        goodsorder.setReturnMemberIntegral(getBackIntegral(goodsorder.getPrice().subtract(goodsorder.getMailPrice()),Constants.ZERO));
         goodsorderMapper.insert(goodsorder);
         List<OrderGoodsCalculateResponse> goodsCalculateList  = orderPayConfirmResponse.getGoodsCalculateList();
         if(CollectionUtils.isEmpty(goodsCalculateList)){
@@ -844,7 +845,8 @@
         }
         List<GoodsorderDetail> goodsOrderDetailList = new ArrayList<>();
         BigDecimal shopSettlement = BigDecimal.ZERO;
-        for (OrderGoodsCalculateResponse payDetailRequest:goodsCalculateList) {
+        for (int i = 0; i < goodsCalculateList.size(); i++) {
+            OrderGoodsCalculateResponse payDetailRequest = goodsCalculateList.get(i);
             //鏌ヨ鍟嗗搧
             GoodsSku goodsSku = goodsSkuMapper.selectById(payDetailRequest.getSkuId());
             if(Objects.isNull(goodsSku)||!Constants.equalsInteger(goodsSku.getIsdeleted(),Constants.ZERO)){
@@ -896,10 +898,10 @@
                 //缁忛攢鍟嗕紭鎯犳壙鎷呭崰姣�
                 BigDecimal shopRate = new BigDecimal("100").subtract(platformConfigDTO.getTotalRate());
                 //璁$畻缁忛攢鍟嗕紭鎯犳壙鎷呴噾棰�  锛堜紭鎯犲埜鎶垫墸閲戦 + 绉垎鎶垫墸閲戦锛� * 鍗犳瘮姣斾緥
-                BigDecimal shopDeductAmount = payDetailRequest.getCouponDeductCash().add(payDetailRequest.getIntegralDeductCash())
+                BigDecimal shopDeductAmount = payDetailRequest.getCouponDeductCash().add(Constants.equalsInteger(orderPayRequest.getUseIntegral(),Constants.ONE)?payDetailRequest.getIntegralDeductCash():BigDecimal.ZERO)
                         .multiply(shopRate).divide(new BigDecimal("100"),2, RoundingMode.HALF_UP);
                 //鏍规嵁缁忛攢鍟嗛攢鍞ā寮� 璁$畻搴旂粨绠楅噾棰�
-                if(shop.getSaleType().equals(Constants.ONE)){
+                if(Constants.equalsInteger(shop.getSaleType(),Constants.ONE)&&Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)){
                     goodsOrderDetail.setShopSettlement(goodsOrderDetail.getPrice().subtract(shopDeductAmount));
                 }else {
                     //骞冲彴閾鸿揣
@@ -944,6 +946,10 @@
 
         //瀛樺湪鐜伴噾鏀粯
         if(Constants.equalsInteger(goodsorder.getPayMethod(),Constants.ZERO)){
+            goodsorderMapper.update(null,new UpdateWrapper<Goodsorder>().lambda()
+                    .set(Goodsorder::getShopSettlement,shopSettlement)
+                    .eq(Goodsorder::getId,goodsorder.getId())
+            );
             PayResponse payResponse = this.wxPay(goodsorder,member);
             payResponse.setLockKey(lockKey);
             return payResponse;
@@ -954,7 +960,7 @@
                 .set(Goodsorder::getShopSettlement,shopSettlement)
                 .set(Goodsorder::getPayStatus,Constants.OrderStatus.PAY_DONE.getKey())
                 .set(Goodsorder::getPayDate,DateUtil.getCurrDateTime())
-                .set(Goodsorder::getId,goodsorder.getId())
+                .eq(Goodsorder::getId,goodsorder.getId())
         );
         PayResponse payResponse = new PayResponse();
         payResponse.setOrderId(goodsorder.getId());
@@ -1312,7 +1318,7 @@
                     Goods goods = goodsMapper.selectById(goodsSku.getGoodsId());
                     goodsName = goods.getName();
                 }
-                if(!Objects.isNull(goodsSku)){
+                if(!Objects.isNull(goodsSku)&&Objects.nonNull(goodsSku.getStock())){
                     goodsSku.setStock(goodsSku.getStock().add(new BigDecimal(Constants.formatIntegerNum(goodsorderDetail.getGoodsNum()))));
                     goodsSkuMapper.updateById(goodsSku);
                 }
@@ -1441,7 +1447,7 @@
                 amount = amount.add(response.getSkuAmount());
             }
         }
-        MemberCoupon memberCoupon = new MemberCoupon();
+        MemberCoupon memberCoupon = null;
         orderPayConfirmResponse.setCouponAmount(couponAmount);
         //鑾峰彇鍙互浣跨敤鐨勪紭鎯犲埜
         List<MemberCoupon> memberCouponList = memberCouponService.getApplyCoupon(request.getPayDetailRequestList(),request.getMemberId());
@@ -1467,6 +1473,11 @@
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犲彲鐢ㄤ紭鎯犲埜锛岃鍒锋柊鏌ョ湅");
             }
         }
+        if(Objects.nonNull(memberCoupon)){
+            //璁$畻浼樻儬鍒稿崰姣�
+            memberCouponService.calculateCouponRata(memberCoupon,goodsCalculateList,amount);
+        }
+
         //鏌ヨ鐢ㄦ埛鎬荤Н鍒�
         Member member = memberMapper.selectById(request.getMemberId());
         //鏈�浣庡彲鐢ㄥ惎鐢ㄧН鍒�
@@ -1480,6 +1491,7 @@
         orderPayConfirmResponse.setDeductIntegral(deductIntegral);
         orderPayConfirmResponse.setIntegralAmount(integralAmount);
         if(Constants.equalsInteger(orderPayConfirmResponse.getIntegralStatus(),Constants.ZERO)){
+            //璁$畻绉垎鍗犳瘮
             integralAmount = this.calculateIntegralRata(orderPayConfirmResponse,goodsCalculateList,member.getIntegral());
         }else{
             orderPayConfirmResponse.setSurplusIntegral(member.getIntegral());
@@ -1566,12 +1578,12 @@
         if(Constants.equalsInteger(type,Constants.ZERO)){
             if( Constants.equalsInteger(platformConfigDTO.getReturnMemberIntegralStatus(),Constants.ZERO)
                 && Objects.nonNull(platformConfigDTO.getReturnMemberIntegral())){
-                integralBack = payAmount.multiply(platformConfigDTO.getReturnMemberIntegral()).divide(BigDecimal.ONE,0,BigDecimal.ROUND_DOWN);
+                integralBack = payAmount.divide(platformConfigDTO.getReturnMemberIntegral(),2,BigDecimal.ROUND_DOWN);
             }
         }else{
             if( Constants.equalsInteger(platformConfigDTO.getReturnShopIntegralStatus(),Constants.ZERO)
                     && Objects.nonNull(platformConfigDTO.getReturnShopIntegral())){
-                integralBack = payAmount.multiply(platformConfigDTO.getReturnShopIntegral()).divide(BigDecimal.ONE,0,BigDecimal.ROUND_DOWN);
+                integralBack = payAmount.divide(platformConfigDTO.getReturnShopIntegral(),2,BigDecimal.ROUND_DOWN);
             }
         }
         return integralBack;
@@ -1591,6 +1603,12 @@
                 .multiply(i.getDeductRata()).divide(new BigDecimal("100"),2,RoundingMode.DOWN)).reduce(BigDecimal.ZERO,BigDecimal::add);
         //绉垎-鐜伴噾鍏戞崲姣斾緥锛圶XX绉垎鎶垫墸1鍏冿級
         BigDecimal cashToIntegralRata = new BigDecimal(systemDictDataBiz.queryByCode(Constants.INTEGRAL_SET,Constants.INTERALSET_DEDUCTINTEGRALLIMIT).getCode());
+        //绉垎鏈�澶у彲鎶垫墸閲戦
+        BigDecimal deductionCash = totalIntegral.divide(cashToIntegralRata,2,RoundingMode.DOWN);
+        BigDecimal surDeductionCash = deductionCash;
+        BigDecimal goodUseIntegral = BigDecimal.ZERO;
+        BigDecimal surUseIntegral = totalIntegral;
+
         //褰撳墠閫夋嫨鍟嗗搧鎶垫墸闇�瑕佷娇鐢ㄧ殑绉垎
         BigDecimal maxDeductionIntegral =  maxDeductionCash.multiply(cashToIntegralRata);
         //鑾峰彇褰撳墠闇�瑕佹敮浠樼殑鐜伴噾鎬婚
@@ -1601,15 +1619,26 @@
         BigDecimal realDeductionCash = BigDecimal.ZERO;
         for (int j = 0; j < goodsCalculateList.size(); j++) {
             //鑾峰彇鏈�澶у彲鎶垫墸閲戦
-            BigDecimal deductionCash = goodsCalculateList.get(j).getSkuAmount().subtract(goodsCalculateList.get(j).getCouponDeductCash())
+            BigDecimal goodDeductionCash = goodsCalculateList.get(j).getSkuAmount().subtract(goodsCalculateList.get(j).getCouponDeductCash())
                     .multiply(goodsCalculateList.get(j).getDeductRata()).divide(new BigDecimal("100"),2,RoundingMode.DOWN);
-            goodsCalculateList.get(j).setIntegralMaxDeductCash(deductionCash);
+            goodsCalculateList.get(j).setIntegralMaxDeductCash(goodDeductionCash);
+            BigDecimal rata = goodDeductionCash.divide(maxDeductionCash,2,BigDecimal.ROUND_HALF_UP);
             //濡傛灉鍓╀綑绉垎澶т簬鍙互浣跨敤绉垎 鍒欑洿鎺ユ弧棰濊绠� 鍙嶄箣 鍓╀綑绉垎涓嶈兘婊¤冻鍏ㄩ儴鎶垫墸 鍗曠嫭璁$畻姣忎釜鍟嗗搧鍗犳瘮
             if(totalIntegral.compareTo(maxDeductionIntegral)<Constants.ZERO){
-                deductionCash  = deductionCash.divide(payCash).multiply(totalIntegral);
+                if(Constants.equalsInteger(j+1,goodsCalculateList.size())){
+                    goodDeductionCash = surDeductionCash;
+                    goodUseIntegral = surUseIntegral;
+                }else{
+                    goodDeductionCash  = (goodDeductionCash.multiply(deductionCash)).divide(maxDeductionCash,2,BigDecimal.ROUND_HALF_UP);
+                    surDeductionCash = surDeductionCash.subtract(goodDeductionCash);
+                    goodUseIntegral = (goodDeductionCash.multiply(totalIntegral)).divide(maxDeductionCash,2,BigDecimal.ROUND_HALF_UP);
+                    surUseIntegral = totalIntegral.subtract(goodUseIntegral);
+                }
             }
-            goodsCalculateList.get(j).setIntegralDeductCash(deductionCash);
-            realDeductionCash = realDeductionCash.add(deductionCash);
+            goodsCalculateList.get(j).setIntegralDeductCash(goodDeductionCash);
+            goodsCalculateList.get(j).setIntegralDeduct(goodUseIntegral);
+            realDeductionCash = realDeductionCash.add(goodDeductionCash);
+
         }
         //鍓╀綑绉垎鍊�
         orderPayConfirmResponse.setSurplusIntegral(totalIntegral);
@@ -1757,7 +1786,22 @@
                 if(Objects.isNull(coupon)||Constants.equalsInteger(coupon.getIsdeleted(),Constants.ONE)&&num>Constants.ZERO){
                     continue;
                 }
+                if(coupon.getNum()>Constants.ZERO){
+                    //鏌ヨ宸查鍙栨暟閲�
+                    Integer getNum = memberCouponMapper.selectCount(new QueryWrapper<MemberCoupon>().lambda()
+                            .eq(MemberCoupon::getIsdeleted,Constants.ZERO)
+                            .eq(MemberCoupon::getCouponId,couponId)
+                            .ne(MemberCoupon::getGetMethod,Constants.TWO)
+                    ).intValue();
+                    if(getNum >= coupon.getNum()){
+                        continue;
+                    }
+                    if(num>(coupon.getNum() - getNum)){
+                        num = coupon.getNum().intValue() - getNum;
+                    }
+                }
                 MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,inviteMember,new Date(),Constants.ONE,null);
+
                 for (int i = 0; i < num; i++) {
                     //婊″噺鍗蜂笉浼氱敓鎴恗axPrice 闇�瑕佹牴鎹紭鎯犲埜鍑忓皯閲戦璁剧疆
                     if(Constants.equalsInteger(coupon.getCouponType(),Constants.ZERO)){
@@ -1823,9 +1867,9 @@
         if(Objects.isNull(shop)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌璁㈠崟鍏宠仈缁忛攢鍟嗕俊鎭�,璇疯仈绯荤鐞嗗憳");
         }
-//        if(!Constants.equalsInteger(shop.getMemberId(),memberId)){
-//            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"["+shop.getName()+"]闈炴偍缁戝畾鐨勭粡閿�鍟嗭紝鏃犳硶杩涜璇ユ搷浣滐紒");
-//        }
+        if(!Constants.equalsInteger(shop.getId(),memberId)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝褰撳墠璁㈠崟鏍搁攢闂ㄥ簵涓篬"+shop.getName()+"]锛屾偍鏃犳硶杩涜璇ユ搷浣滐紒");
+        }
         goodsorder.setStatus(Constants.OrderStatus.DONE.getKey());
         goodsorder.setDoneDate(new Date());
         goodsorderMapper.updateById(goodsorder);
@@ -1862,11 +1906,10 @@
         if(Objects.isNull(goodsorder.getDistributionShopId()) || Constants.equalsInteger(goodsorder.getPayMethod(),Constants.ONE)){
             return;
         }
-        BigDecimal backIntegral = getBackIntegral(goodsorder.getPrice(),Constants.ONE);
-        if (backIntegral.compareTo(BigDecimal.ZERO) > 0) {
+        if (goodsorder.getReturnCustomerIntegral().compareTo(BigDecimal.ZERO) > 0) {
             //鏇存柊浣欓淇℃伅 娣诲姞绉垎鍙樺姩璁板綍
             DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
-            dealIntegralRequest.setIntegralNum(backIntegral);
+            dealIntegralRequest.setIntegralNum(goodsorder.getReturnCustomerIntegral());
             dealIntegralRequest.setDealType(Constants.ZERO);
             dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
             dealIntegralRequest.setObjId(goodsorder.getId());
@@ -1911,11 +1954,10 @@
         if(Constants.equalsInteger(goodsorder.getPayMethod(),Constants.ONE)){
             return;
         }
-        BigDecimal backIntegral = getBackIntegral(goodsorder.getPrice(),Constants.ZERO);
-        if (backIntegral.compareTo(BigDecimal.ZERO) > 0) {
+        if (goodsorder.getReturnMemberIntegral().compareTo(BigDecimal.ZERO) > 0) {
             //鏇存柊浣欓淇℃伅 娣诲姞绉垎鍙樺姩璁板綍
             DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
-            dealIntegralRequest.setIntegralNum(backIntegral);
+            dealIntegralRequest.setIntegralNum(goodsorder.getReturnMemberIntegral());
             dealIntegralRequest.setDealType(Constants.ZERO);
             dealIntegralRequest.setMemberId(goodsorder.getMemberId());
             dealIntegralRequest.setObjId(goodsorder.getId());
@@ -2214,7 +2256,7 @@
                         .eq(Notice::getIsdeleted,Constants.ZERO)
                         .eq(Notice::getMemberId,member.getId())
                         .eq(Notice::getStatus,Constants.ZERO)
-                )>=Constants.ZERO?Constants.ZERO:Constants.ONE
+                )>Constants.ZERO?Constants.ZERO:Constants.ONE
         );
 
         return homeInfoResponse;
@@ -2329,7 +2371,7 @@
         List<Goodsorder> goodsorderList = goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
                 .eq(Goodsorder::getIsdeleted, Constants.ZERO)
                 .eq(Goodsorder::getStatus, Constants.OrderStatus.WAIT_PAY.getKey())
-                        .apply(" CREATE_DATE >  DATE_SUB(NOW(), INTERVAL 15 MINUTE) ")
+                        .apply(" CREATE_DATE <  DATE_SUB(NOW(), INTERVAL 15 MINUTE) ")
         );
         if(CollectionUtils.isNotEmpty(goodsorderList)){
             for (Goodsorder goodsorder:goodsorderList) {
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
index abb185f..3b1fa6a 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
@@ -68,6 +68,9 @@
     private GoodsorderMapper goodsorderMapper;
 
     @Autowired
+    private GoodsorderDetailMapper goodsorderDetailMapper;
+
+    @Autowired
     private NoticeService noticeService;
 
     @Autowired
@@ -160,7 +163,7 @@
         integral.setIsdeleted(Constants.ZERO);
         integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
         String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
-        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().intValue()+"");
+        info = info.replace("${param}",dealIntegralRequest.getIntegralNum()+"");
         if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
             info = info .replace("${param1}",dealIntegralRequest.getParam1());
         }
@@ -185,7 +188,7 @@
 
         //绔欏唴淇�
         noticeService.saveMemberIntegralNotice(
-                dealIntegralRequest.getIntegralObjType(),Constants.ONE,member.getId(),dealIntegralRequest.getIntegralNum(),
+                dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(),
                 integral.getId(), info
         );
         return integral.getId();
@@ -268,9 +271,9 @@
         shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
                 .eq(Shop::getId,shop.getId())
                 .set(Shop::getEditDate,new Date())
-                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"total_integral = ifnull(total_integral,0)+" + dealIntegralRequest.getIntegralNum())//绱澧炲姞
-                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"integral = ifnull(integral,0)+" +  dealIntegralRequest.getIntegralNum())
-                .setSql(dealIntegralRequest.getDealType().equals(Constants.ONE),"integral = ifnull(integral,0)-" + dealIntegralRequest.getIntegralNum()));
+                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"TOTAL_AMOUNT = ifnull(TOTAL_AMOUNT,0)+" + dealIntegralRequest.getIntegralNum())//绱澧炲姞
+                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"AMOUNT = ifnull(AMOUNT,0)+" +  dealIntegralRequest.getIntegralNum())
+                .setSql(dealIntegralRequest.getDealType().equals(Constants.ONE),"AMOUNT = ifnull(AMOUNT,0)-" + dealIntegralRequest.getIntegralNum()));
         return integral.getId();
     }
 
@@ -615,12 +618,14 @@
                                 .reduce(BigDecimal.ZERO, BigDecimal::add)
                 );
                 integralDataResponse.setWaitPayAmount(
-                        goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
+                        goodsorderDetailMapper.selectJoinList(GoodsorderDetail.class,new MPJLambdaWrapper<GoodsorderDetail>()
+                                .selectAll(GoodsorderDetail.class)
+                                .leftJoin(Goodsorder.class,Goodsorder::getId,GoodsorderDetail::getOrderId)
                                 .eq(Goodsorder::getDistributionShopId,model.getMemberId())
                                 .in(Goodsorder::getStatus,Constants.OrderStatus.WAIT_PAY.getKey(),
                                         Constants.OrderStatus.PAY_DONE.getKey(),
                                         Constants.OrderStatus.WAIT_RECEIVE.getKey())
-                        ).stream().map(Goodsorder::getShopSettlement)
+                        ).stream().map(GoodsorderDetail::getShopSettlement)
                         .reduce(BigDecimal.ZERO, BigDecimal::add)
                 );
             }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
index 18d141b..2bb5078 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
@@ -165,6 +165,7 @@
     private List<Member> getMemberListByParam(MemberCouponAddDTO memberCoupon) {
         List<Member>  list = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                 .eq(Member::getIsdeleted,Constants.ZERO)
+                .eq(Member::getStatus,Constants.ZERO)
                 .eq(memberCoupon.getAddType() == Constants.ZERO,Member::getId,memberCoupon.getAddMemberIds())
                 .in(memberCoupon.getAddType() == Constants.ONE,Member::getPhone,memberCoupon.getPhones()));
         if(list == null || list.size()==0){
@@ -400,8 +401,7 @@
                 .apply(Objects.nonNull(status)&&Constants.equalsInteger(status,Constants.TWO),"m.STATUS = 0 and  m.END_DATE < now() " )
                 .eq("TYPE",couponType)
                 .apply(!Objects.isNull(price)," m.LIMIT_PRICE >= "+price+" ")
-//                .apply("   now() between m.START_DATE and m.END_DATE ")
-                .orderByDesc(" m.PRICE ")
+                .orderByDesc( " m.CREATE_DATE ")
         );
         return page;
     }
@@ -589,8 +589,7 @@
                         .apply("  now() between START_DATE and  END_DATE ")
                         .orderByDesc(MemberCoupon::getMaxPrice)
                         .orderByAsc(MemberCoupon::getEndDate)
-        )
-                ;
+        );
 
         if(CollectionUtils.isNotEmpty(allCoupon)){
             for (MemberCoupon memberCoupon:allCoupon) {
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 339d3aa..11722ec 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -85,6 +85,8 @@
     @Autowired
     private CouponMapper couponMapper;
     @Autowired
+    private MemberCouponMapper memberCouponMapper;
+    @Autowired
     private MemberCouponJoinMapper memberCouponJoinMapper;
     @Autowired
     private IntegralMapper integralMapper;
@@ -444,6 +446,20 @@
                     if(Objects.isNull(coupon)||Constants.equalsInteger(coupon.getIsdeleted(),Constants.ONE)&&num>Constants.ZERO){
                         continue;
                     }
+                    if(coupon.getNum()>Constants.ZERO) {
+                        //鏌ヨ宸查鍙栨暟閲�
+                        Integer getNum = memberCouponMapper.selectCount(new QueryWrapper<MemberCoupon>().lambda()
+                                .eq(MemberCoupon::getIsdeleted, Constants.ZERO)
+                                .eq(MemberCoupon::getCouponId, couponId)
+                                .ne(MemberCoupon::getGetMethod, Constants.TWO)
+                        ).intValue();
+                        if (getNum >= coupon.getNum()) {
+                            continue;
+                        }
+                        if (num > (coupon.getNum() - getNum)) {
+                            num = coupon.getNum().intValue() - getNum;
+                        }
+                    }
                     MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,member,new Date(),Constants.ZERO,null);
                     for (int i = 0; i < num; i++) {
                         //婊″噺鍗蜂笉浼氱敓鎴恗axPrice 闇�瑕佹牴鎹紭鎯犲埜鍑忓皯閲戦璁剧疆
@@ -486,6 +502,10 @@
         //璧犻�侀個璇风Н鍒�
         //寮�鍚個璇锋敞鍐岄�佺Н鍒�
         if(Constants.equalsInteger(platformConfigDTO.getShareIntegralRewardStatus(),Constants.ZERO)){
+            member = memberMapper.selectById(member.getRecId());
+            if(Objects.isNull(member)){
+                return;
+            }
             DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
             dealIntegralRequest.setIntegralNum(platformConfigDTO.getShareIntegralReward());
             dealIntegralRequest.setDealType(Constants.ZERO);
@@ -493,8 +513,6 @@
             dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER);
             dealIntegralRequest.setParam1(member.getNickname());
             integralService.dealIntegral(dealIntegralRequest,member);
-            //娣诲姞娑堟伅璁板綍
-
         }
     }
 
@@ -690,7 +708,7 @@
         }
         this.verifyPhoneCode(request.getCode(),request.getPhone());
         memberMapper.update(new UpdateWrapper<Member>().lambda()
-                .eq(Member::getPhone,request.getPhone())
+                .set(Member::getPhone,request.getPhone())
                 .eq(Member::getId,request.getMemberId())
         );
     }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
index 6216bb3..f74321e 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
@@ -224,7 +224,7 @@
 
         Notice notice = pageWrap.getModel();
 
-        queryWrapper.ne(Objects.nonNull(notice.getQueryType()),
+        queryWrapper.eq(Objects.nonNull(notice.getQueryType()),
                         Notice::getType,notice.getQueryType())
                     .eq(Notice::getMemberId,notice.getMemberId())
                 .orderByAsc(Notice::getStatus)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
index c027aad..94fa98b 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -162,12 +162,15 @@
                             .set(Shop::getProgramCode,url)
                     .eq(Shop::getId,shop.getId()));
         }
-        //鍒嗕韩娴锋姤
-        String posterUrl = inviteRecordService.createShareImg(Constants.ONE,shop.getId(),shop.getPosterImg());
-        if(StringUtils.isNotBlank(posterUrl)){
-            shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
-                    .set(Shop::getPosterImgCode,posterUrl)
-                    .eq(Shop::getId,shop.getId()));
+        if(StringUtils.isNotBlank(shop.getPosterImg())) {
+            //鍒嗕韩娴锋姤
+            String posterUrl = inviteRecordService.createShareImg(Constants.ONE, shop.getId(), shop.getPosterImg());
+            //鐢熸垚澶辫触浼氱敓鎴愬瓧绗︿覆 1
+            if (StringUtils.isNotBlank(posterUrl)&&!posterUrl.equals("1")) {
+                shopMapper.update(null, new UpdateWrapper<Shop>().lambda()
+                        .set(Shop::getPosterImgCode, posterUrl)
+                        .eq(Shop::getId, shop.getId()));
+            }
         }
         return shop.getId();
     }
@@ -260,17 +263,16 @@
         shop.setEditor(user.getId());
         shop.setEditDate(new Date());
 
-        if(StringUtils.isBlank(model.getProgramCode())){
-            //鍒嗕韩鐮�
-            String url = inviteRecordService.createShopMiniProgramCode(shop.getId());
-            if(StringUtils.isNotBlank(url)){
-                shop.setProgramCode(url);
-            }
+        //鍒嗕韩鐮�
+        String url = inviteRecordService.createShopMiniProgramCode(shop.getId());
+        if(StringUtils.isNotBlank(url)){
+            shop.setProgramCode(url);
         }
         if(StringUtils.isNotBlank(shop.getPosterImg())){
             //鍒嗕韩娴锋姤
             String posterUrl = inviteRecordService.createShareImg(Constants.ONE,shop.getId(),shop.getPosterImg());
-            if(StringUtils.isNotBlank(posterUrl)){
+            //鐢熸垚澶辫触浼氱敓鎴愬瓧绗︿覆 1
+            if (StringUtils.isNotBlank(posterUrl)&&!posterUrl.equals("1")) {
                 shop.setPosterImgCode(posterUrl);
             }
         }
@@ -284,8 +286,8 @@
                     shop.getEditDate(),
                     new String[]{user.getUsername(), DateUtil.getPlusTime2(shop.getEditDate())},
                     JSONObject.toJSONString(shop) ,
-                    Constants.equalsInteger(model.getSaleType(),Constants.ONE)?"鑷敱閲囪喘":"骞冲彴閾鸿揣",
-                    Constants.equalsInteger(shop.getSaleType(),Constants.ONE)?"鑷敱閲囪喘":"骞冲彴閾鸿揣");
+                    Constants.equalsInteger(model.getSaleType(),Constants.ONE)?"鑷富閲囪喘":"骞冲彴閾鸿揣",
+                    Constants.equalsInteger(shop.getSaleType(),Constants.ONE)?"鑷富閲囪喘":"骞冲彴閾鸿揣");
         }
     }
 
@@ -782,6 +784,7 @@
         if(!pwd.equals(shop.getPassword())){
             throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
         }
+        shop.setOpenId(dto.getOpenid());
         //鍒涘缓token
 //        JwtPayLoad payLoad = new JwtPayLoad(Constants.SHOP_PREFIX+shop.getId());
 //        String token = JwtTokenUtil.generateToken(payLoad);
@@ -892,34 +895,53 @@
                         //鑷畾涔夋棩鏈�
                         .apply(Objects.nonNull(request.getDateType())&&Constants.equalsInteger(request.getDateType(),Constants.FOUR)&&StringUtils.isNotBlank(request.getStartDate()), "  t.CREATE_DATE >= '"+request.getStartDate()+" 00:00:00'")
                         .apply(Objects.nonNull(request.getDateType())&&Constants.equalsInteger(request.getDateType(),Constants.FOUR)&&StringUtils.isNotBlank(request.getEndDate()), "  t.CREATE_DATE <= '"+request.getEndDate()+" 23:59:59'")
-                        .ne(Goodsorder::getStatus,Constants.OrderStatus.CLOSE.getKey())
+                        .in(Goodsorder::getStatus,Constants.OrderStatus.PAY_DONE.getKey(),Constants.OrderStatus.WAIT_RECEIVE.getKey(),Constants.OrderStatus.DONE.getKey())
                         .orderByDesc(Goodsorder::getId)
         );
 
         if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(goodsorderList)) {
-            saleReportResponse.setSaleTotal(goodsorderList.stream().map(i->i.getPrice().subtract(i.getMailPrice())).reduce(BigDecimal.ZERO, BigDecimal::add));
+            saleReportResponse.setSaleTotal(goodsorderList.stream().map(i->i.getTotalPrice().subtract(i.getMailPrice())).reduce(BigDecimal.ZERO, BigDecimal::add));
             saleReportResponse.setOrderNum(goodsorderList.size());
         }
-        List<Integral> integralList = integralMapper.selectList(new QueryWrapper<Integral>().lambda()
-                .eq(Integral::getIsdeleted,Constants.ZERO)
-                .eq(Integral::getMemberId,shopId)
-                .eq(Integral::getUserType,Constants.TWO)
-                .eq(Integral::getType,Constants.ZERO)
-                .eq(Integral::getObjType,Constants.IntegralObjType.ORDER_DONE_AMOUNT.getKey())
-                //浠婃棩
-                .apply(Constants.equalsInteger(request.getDateType(),Constants.ZERO), " DATE(CREATE_DATE) = DATE(NOW())  ")
-                //褰撴湀
-                .apply(Constants.equalsInteger(request.getDateType(),Constants.ONE), " DATE_FORMAT(CREATE_DATE, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')")
-                //涓婃湀
-                .apply(Constants.equalsInteger(request.getDateType(),Constants.TWO), "  DATE_FORMAT(CREATE_DATE, '%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m') ")
-                //鍥哄畾鏈堜唤
-                .apply(Constants.equalsInteger(request.getDateType(),Constants.THREE)&&StringUtils.isNotBlank(request.getStartDate()), " DATE_FORMAT(CREATE_DATE, '%Y-%m') = DATE_FORMAT(DATE_SUB('"+request.getStartDate()+"', INTERVAL 1 MONTH), '%Y-%m') ")
-                //鑷畾涔夋棩鏈�
-                .apply(Constants.equalsInteger(request.getDateType(),Constants.FOUR)&&StringUtils.isNotBlank(request.getStartDate()), "  CREATE_DATE >= '"+request.getStartDate()+" 00:00:00'")
-                .apply(Constants.equalsInteger(request.getDateType(),Constants.FOUR)&&StringUtils.isNotBlank(request.getEndDate()), "  CREATE_DATE <= '"+request.getEndDate()+" 23:59:59'")
+//        List<Integral> integralList = integralMapper.selectList(new QueryWrapper<Integral>().lambda()
+//                .eq(Integral::getIsdeleted,Constants.ZERO)
+//                .eq(Integral::getMemberId,shopId)
+//                .eq(Integral::getUserType,Constants.TWO)
+//                .eq(Integral::getType,Constants.ZERO)
+//                .eq(Integral::getObjType,Constants.IntegralObjType.ORDER_DONE_AMOUNT.getKey())
+//                //浠婃棩
+//                .apply(Constants.equalsInteger(request.getDateType(),Constants.ZERO), " DATE(CREATE_DATE) = DATE(NOW())  ")
+//                //褰撴湀
+//                .apply(Constants.equalsInteger(request.getDateType(),Constants.ONE), " DATE_FORMAT(CREATE_DATE, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')")
+//                //涓婃湀
+//                .apply(Constants.equalsInteger(request.getDateType(),Constants.TWO), "  DATE_FORMAT(CREATE_DATE, '%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m') ")
+//                //鍥哄畾鏈堜唤
+//                .apply(Constants.equalsInteger(request.getDateType(),Constants.THREE)&&StringUtils.isNotBlank(request.getStartDate()), " DATE_FORMAT(CREATE_DATE, '%Y-%m') = DATE_FORMAT(DATE_SUB('"+request.getStartDate()+"', INTERVAL 1 MONTH), '%Y-%m') ")
+//                //鑷畾涔夋棩鏈�
+//                .apply(Constants.equalsInteger(request.getDateType(),Constants.FOUR)&&StringUtils.isNotBlank(request.getStartDate()), "  CREATE_DATE >= '"+request.getStartDate()+" 00:00:00'")
+//                .apply(Constants.equalsInteger(request.getDateType(),Constants.FOUR)&&StringUtils.isNotBlank(request.getEndDate()), "  CREATE_DATE <= '"+request.getEndDate()+" 23:59:59'")
+//        );
+        goodsorderList = goodsorderJoinMapper.selectJoinList(Goodsorder.class,
+                new MPJLambdaWrapper<Goodsorder>()
+                        .selectAll(Goodsorder.class)
+                        .eq(Goodsorder::getIsdeleted,Constants.ZERO)
+                        .eq(Goodsorder::getDistributionShopId,shopId)
+                        //浠婃棩
+                        .apply(Objects.nonNull(request.getDateType())&&Constants.equalsInteger(request.getDateType(),Constants.ZERO), " DATE(t.DONE_DATE) = DATE(NOW())  ")
+                        //褰撴湀
+                        .apply(Objects.nonNull(request.getDateType())&&Constants.equalsInteger(request.getDateType(),Constants.ONE), " DATE_FORMAT(t.DONE_DATE, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')")
+                        //涓婃湀
+                        .apply(Objects.nonNull(request.getDateType())&&Constants.equalsInteger(request.getDateType(),Constants.TWO), "  DATE_FORMAT(t.DONE_DATE, '%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m') ")
+                        //鍥哄畾鏈堜唤
+                        .apply(Objects.nonNull(request.getDateType())&&Constants.equalsInteger(request.getDateType(),Constants.THREE)&&StringUtils.isNotBlank(request.getStartDate()), " DATE_FORMAT(t.DONE_DATE, '%Y-%m') = DATE_FORMAT(DATE_SUB('"+request.getStartDate()+"', INTERVAL 1 MONTH), '%Y-%m') ")
+                        //鑷畾涔夋棩鏈�
+                        .apply(Objects.nonNull(request.getDateType())&&Constants.equalsInteger(request.getDateType(),Constants.FOUR)&&StringUtils.isNotBlank(request.getStartDate()), "  t.DONE_DATE >= '"+request.getStartDate()+" 00:00:00'")
+                        .apply(Objects.nonNull(request.getDateType())&&Constants.equalsInteger(request.getDateType(),Constants.FOUR)&&StringUtils.isNotBlank(request.getEndDate()), "  t.DONE_DATE <= '"+request.getEndDate()+" 23:59:59'")
+                        .in(Goodsorder::getStatus,Constants.OrderStatus.DONE.getKey())
+                        .orderByDesc(Goodsorder::getId)
         );
-        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(integralList)) {
-            saleReportResponse.setProfitTotal(integralList.stream().map(i->i.getNum()).reduce(BigDecimal.ZERO, BigDecimal::add));
+        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(goodsorderList)) {
+            saleReportResponse.setProfitTotal(goodsorderList.stream().filter(i->Objects.nonNull(i.getShopSettlement())).map(i->i.getShopSettlement()).reduce(BigDecimal.ZERO, BigDecimal::add));
         }
         return  saleReportResponse;
     }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java
index 18e9dac..1b9c3ec 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java
@@ -227,7 +227,7 @@
      * @param addCartGoodsRequest
      */
     @Override
-    @Transactional(rollbackFor = Exception.class)
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void addCart(AddCartGoodsRequest addCartGoodsRequest){
         //鏌ヨ璐墿杞︽槸鍚﹀瓨鍦ㄥ綋鍓嶉�変腑鐨勫晢鍝佷俊鎭�
         Shopcart shopcart = shopcartMapper.selectOne(new QueryWrapper<Shopcart>()
diff --git a/server/dmmall_service/src/main/resources/application-dev.yml b/server/dmmall_service/src/main/resources/application-dev.yml
index 44ced57..9966b10 100644
--- a/server/dmmall_service/src/main/resources/application-dev.yml
+++ b/server/dmmall_service/src/main/resources/application-dev.yml
@@ -53,7 +53,16 @@
     mchId: 1229817002
     mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM
     notifyUrl: https://test.doumee.cn/dmmall_web_api/web/api/wxPayNotify
-    keyPath: /usr/local/apiclient_cert.p12
+    keyPath: /usr/local/apiclient_cert.p12 #D:\DouMee\dmkjWxcert\apiclient_cert.p12 #
+
+#wx:
+#  pay:
+#    appId: wx0115b948d647e9b2
+#    appSecret: 4b5b97d6770f1fc6b09a7019804739a7
+#    mchId: 1739990831
+#    mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM
+#    notifyUrl: http://xiaopiqiu2.natapp1.cc/web/api/wxPayNotify #https://test.doumee.cn/dmmall_web_api/web/api/wxPayNotify
+#    keyPath: D:\DouMee\1739990831_20260306_cert #D:\DouMee\dmkjWxcert\apiclient_cert.p12 #
 
 tencent:
   map:
diff --git a/server/dmmall_service/src/main/resources/application-pro.yml b/server/dmmall_service/src/main/resources/application-pro.yml
index 86150aa..1d20b48 100644
--- a/server/dmmall_service/src/main/resources/application-pro.yml
+++ b/server/dmmall_service/src/main/resources/application-pro.yml
@@ -2,9 +2,9 @@
 spring:
   # 鏁版嵁婧愰厤缃�
   datasource:
-    url: jdbc:mysql://192.168.0.211:3306/dmmall_full?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
-    username: root
-    password: Doumee@168
+    url: jdbc:mysql://rm-uf6916tp3306gqv43vo.mysql.rds.aliyuncs.com:3306/dynj?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+    username: dynj
+    password: dynj@2026
     driver-class-name: com.mysql.cj.jdbc.Driver
     type: com.alibaba.druid.pool.DruidDataSource
 
@@ -49,12 +49,12 @@
 ########################寰俊鏀粯鐩稿叧閰嶇疆########################
 wx:
   pay:
-    appId: wxcd2b89fd2ff065f8
+    appId: wx0115b948d647e9b2
     appSecret: 3462fa186da7cb06c544df8d8664b63a
     mchId: 1229817002
     mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM
-    notifyUrl: https://dmtest.ahapp.net/dmmall_interface/web/api/wxPayNotify
-    keyPath: /usr/local/apiclient_cert.p12
+    notifyUrl: https://mall.myshopify.com/dmmall_interface/web/api/wxPayNotify
+    keyPath: /usr/local/jars/apiclient_cert.p12
 
 tencent:
   map:
diff --git a/server/dmmall_service/src/main/resources/mappers/SystemDataPermissionMapper.xml b/server/dmmall_service/src/main/resources/mappers/SystemDataPermissionMapper.xml
index 13f821f..e933bf0 100644
--- a/server/dmmall_service/src/main/resources/mappers/SystemDataPermissionMapper.xml
+++ b/server/dmmall_service/src/main/resources/mappers/SystemDataPermissionMapper.xml
@@ -25,10 +25,10 @@
       role.`ID` AS ROLE_ID, role.`CODE` AS ROLE_CODE, role.`NAME` AS ROLE_NAME,
       create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
       update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
-    FROM SYSTEM_DATA_PERMISSION sdp
-    INNER JOIN `SYSTEM_ROLE` role ON role.ID = sdp.ROLE_ID
-    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = sdp.CREATE_USER
-    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = sdp.UPDATE_USER
+    FROM system_data_permission sdp
+    INNER JOIN `system_role` role ON role.ID = sdp.ROLE_ID
+    LEFT JOIN `system_user` create_user ON create_user.ID = sdp.CREATE_USER
+    LEFT JOIN `system_user` update_user ON update_user.ID = sdp.UPDATE_USER
     <where>
       sdp.DELETED = 0
       <if test="dto.businessCode != null and dto.businessCode != ''">
diff --git a/server/dmmall_service/src/main/resources/mappers/SystemDepartmentMapper.xml b/server/dmmall_service/src/main/resources/mappers/SystemDepartmentMapper.xml
index 0a57944..7f515ba 100644
--- a/server/dmmall_service/src/main/resources/mappers/SystemDepartmentMapper.xml
+++ b/server/dmmall_service/src/main/resources/mappers/SystemDepartmentMapper.xml
@@ -20,11 +20,11 @@
       create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
       update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME,
       COUNT(usr.ID) USER_COUNT
-    FROM SYSTEM_DEPARTMENT dept
-    LEFT JOIN `SYSTEM_DEPARTMENT_USER` sdu ON sdu.DEPARTMENT_ID = dept.ID AND sdu.DELETED = 0
-    LEFT JOIN `SYSTEM_USER` usr ON usr.ID = sdu.USER_ID AND usr.DELETED = 0
-    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = dept.CREATE_USER
-    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = dept.UPDATE_USER
+    FROM system_department dept
+    LEFT JOIN `system_department_user` sdu ON sdu.DEPARTMENT_ID = dept.ID AND sdu.DELETED = 0
+    LEFT JOIN `system_user` usr ON usr.ID = sdu.USER_ID AND usr.DELETED = 0
+    LEFT JOIN `system_user` create_user ON create_user.ID = dept.CREATE_USER
+    LEFT JOIN `system_user` update_user ON update_user.ID = dept.UPDATE_USER
     <where>
       dept.DELETED = 0
       <if test="id != null">
diff --git a/server/dmmall_service/src/main/resources/mappers/SystemDictDataMapper.xml b/server/dmmall_service/src/main/resources/mappers/SystemDictDataMapper.xml
index c1fbd67..6c3ffdc 100644
--- a/server/dmmall_service/src/main/resources/mappers/SystemDictDataMapper.xml
+++ b/server/dmmall_service/src/main/resources/mappers/SystemDictDataMapper.xml
@@ -19,9 +19,9 @@
       dict_data.`ID`, dict_data.`remark`, dict_data.`DICT_ID`, dict_data.`CODE`, dict_data.`LABEL`, dict_data.`SORT`, dict_data.`DISABLED`, dict_data.`CREATE_TIME`, dict_data.`UPDATE_TIME`, dict_data.`CREATE_USER`, dict_data.`UPDATE_USER`,
       create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
       update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
-    FROM SYSTEM_DICT_DATA dict_data
-    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = dict_data.CREATE_USER
-    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = dict_data.UPDATE_USER
+    FROM system_dict_data dict_data
+    LEFT JOIN `system_user` create_user ON create_user.ID = dict_data.CREATE_USER
+    LEFT JOIN `system_user` update_user ON update_user.ID = dict_data.UPDATE_USER
     <where>
       dict_data.DELETED = 0
       <if test="dictId != null">
diff --git a/server/dmmall_service/src/main/resources/mappers/SystemDictMapper.xml b/server/dmmall_service/src/main/resources/mappers/SystemDictMapper.xml
index 76338cb..2bbec78 100644
--- a/server/dmmall_service/src/main/resources/mappers/SystemDictMapper.xml
+++ b/server/dmmall_service/src/main/resources/mappers/SystemDictMapper.xml
@@ -19,9 +19,9 @@
       dict.`ID`, dict.`CODE`, dict.`NAME`, dict.`REMARK`, dict.`CREATE_TIME`, dict.`UPDATE_TIME`, dict.`CREATE_USER`, dict.`UPDATE_USER`,
       create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
       update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
-    FROM SYSTEM_DICT dict
-    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = dict.CREATE_USER
-    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = dict.UPDATE_USER
+    FROM system_dict dict
+    LEFT JOIN `system_user` create_user ON create_user.ID = dict.CREATE_USER
+    LEFT JOIN `system_user` update_user ON update_user.ID = dict.UPDATE_USER
     <where>
       dict.DELETED = 0
       <if test="dto.code != null and dto.code != ''">
diff --git a/server/dmmall_service/src/main/resources/mappers/SystemMenuMapper.xml b/server/dmmall_service/src/main/resources/mappers/SystemMenuMapper.xml
index 0ec9ada..5d019ae 100644
--- a/server/dmmall_service/src/main/resources/mappers/SystemMenuMapper.xml
+++ b/server/dmmall_service/src/main/resources/mappers/SystemMenuMapper.xml
@@ -19,9 +19,9 @@
       menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`FIXED`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`,
       create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
       update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
-    FROM SYSTEM_MENU menu
-    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = menu.CREATE_USER
-    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = menu.UPDATE_USER
+    FROM system_menu menu
+    LEFT JOIN `system_user` create_user ON create_user.ID = menu.CREATE_USER
+    LEFT JOIN `system_user` update_user ON update_user.ID = menu.UPDATE_USER
     <where>
       menu.DELETED = 0
     </where>
@@ -32,9 +32,9 @@
   <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemMenu">
     SELECT
       DISTINCT menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`
-    FROM `SYSTEM_MENU` menu
-    INNER JOIN SYSTEM_ROLE_MENU role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0
-    INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role_menu.ROLE_ID AND user_role.DELETED = 0
+    FROM `system_menu` menu
+    INNER JOIN system_role_menu role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0
+    INNER JOIN system_user_role user_role ON user_role.ROLE_ID = role_menu.ROLE_ID AND user_role.DELETED = 0
     <where>
       AND menu.DELETED = 0
       AND menu.DISABLED = 0
@@ -47,8 +47,8 @@
   <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemMenu">
     SELECT
       menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`
-    FROM `SYSTEM_MENU` menu
-    INNER JOIN `SYSTEM_ROLE_MENU` role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0
+    FROM `system_menu` menu
+    INNER JOIN `system_role_menu` role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0
     <where>
       menu.DELETED = 0
       AND role_menu.ROLE_ID = #{roleId}
diff --git a/server/dmmall_service/src/main/resources/mappers/SystemPermissionMapper.xml b/server/dmmall_service/src/main/resources/mappers/SystemPermissionMapper.xml
index 9568ef5..4fca639 100644
--- a/server/dmmall_service/src/main/resources/mappers/SystemPermissionMapper.xml
+++ b/server/dmmall_service/src/main/resources/mappers/SystemPermissionMapper.xml
@@ -19,9 +19,9 @@
       perm.`ID`, perm.`CODE`, perm.`NAME`, perm.`REMARK`, perm.`FIXED`, perm.`CREATE_TIME`, perm.`UPDATE_TIME`, perm.`CREATE_USER`, perm.`UPDATE_USER`, perm.`DELETED`,
       create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
       update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
-    FROM SYSTEM_PERMISSION perm
-    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = perm.CREATE_USER
-    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = perm.UPDATE_USER
+    FROM system_permission perm
+    LEFT JOIN `system_user` create_user ON create_user.ID = perm.CREATE_USER
+    LEFT JOIN `system_user` update_user ON update_user.ID = perm.UPDATE_USER
     <where>
       perm.DELETED = 0
       <if test="dto.code != null">
@@ -38,10 +38,10 @@
   <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPermission">
     SELECT
       perm.`ID`, perm.`CODE`, perm.`NAME`, perm.`REMARK`, perm.`CREATE_TIME`, perm.`UPDATE_TIME`, perm.`CREATE_USER`, perm.`UPDATE_USER`, perm.`DELETED`
-    FROM SYSTEM_PERMISSION perm
-    INNER JOIN SYSTEM_ROLE_PERMISSION role_perm ON role_perm.PERMISSION_ID = perm.ID AND role_perm.DELETED = 0
-    INNER JOIN SYSTEM_ROLE role ON role.ID = role_perm.ROLE_ID AND role.DELETED = 0
-    INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role.ID AND user_role.DELETED = 0
+    FROM system_permission perm
+    INNER JOIN system_role_permission role_perm ON role_perm.PERMISSION_ID = perm.ID AND role_perm.DELETED = 0
+    INNER JOIN system_role role ON role.ID = role_perm.ROLE_ID AND role.DELETED = 0
+    INNER JOIN system_user_role user_role ON user_role.ROLE_ID = role.ID AND user_role.DELETED = 0
     <where>
       perm.DELETED = 0
       AND user_role.USER_ID = #{userId}
@@ -52,8 +52,8 @@
   <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPermission">
     SELECT
       perm.`ID`, perm.`CODE`, perm.`NAME`, perm.`REMARK`, perm.`CREATE_TIME`, perm.`UPDATE_TIME`, perm.`CREATE_USER`, perm.`UPDATE_USER`, perm.`DELETED`
-    FROM SYSTEM_PERMISSION perm
-    INNER JOIN SYSTEM_ROLE_PERMISSION role_perm ON role_perm.PERMISSION_ID = perm.ID AND role_perm.DELETED = 0
+    FROM system_permission perm
+    INNER JOIN system_role_permission role_perm ON role_perm.PERMISSION_ID = perm.ID AND role_perm.DELETED = 0
     <where>
       perm.DELETED = 0
       AND role_perm.ROLE_ID = #{roleId}
diff --git a/server/dmmall_service/src/main/resources/mappers/SystemPositionMapper.xml b/server/dmmall_service/src/main/resources/mappers/SystemPositionMapper.xml
index fc15235..412c627 100644
--- a/server/dmmall_service/src/main/resources/mappers/SystemPositionMapper.xml
+++ b/server/dmmall_service/src/main/resources/mappers/SystemPositionMapper.xml
@@ -20,11 +20,11 @@
       create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
       update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME,
       COUNT(usr.ID) USER_COUNT
-    FROM SYSTEM_POSITION posi
-    LEFT JOIN `SYSTEM_POSITION_USER` spu ON spu.POSITION_ID = posi.ID AND spu.DELETED = 0
-    LEFT JOIN `SYSTEM_USER` usr ON usr.ID = spu.USER_ID AND usr.DELETED = 0
-    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = posi.CREATE_USER
-    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = posi.UPDATE_USER
+    FROM system_position posi
+    LEFT JOIN `system_position_user` spu ON spu.POSITION_ID = posi.ID AND spu.DELETED = 0
+    LEFT JOIN `system_user` usr ON usr.ID = spu.USER_ID AND usr.DELETED = 0
+    LEFT JOIN `system_user` create_user ON create_user.ID = posi.CREATE_USER
+    LEFT JOIN `system_user` update_user ON update_user.ID = posi.UPDATE_USER
     <where>
       posi.DELETED = 0
       <if test="name != null and name != ''">
@@ -38,9 +38,9 @@
   <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPosition">
     SELECT
       sp.`ID`, sp.`PARENT_ID`, sp.`CODE`, sp.`NAME`
-    FROM `SYSTEM_POSITION` sp
-    INNER JOIN `SYSTEM_POSITION_USER` spu ON spu.`POSITION_ID` = sp.`ID` AND spu.`DELETED` = 0
-    INNER JOIN `SYSTEM_USER` su ON su.`ID` = spu.`USER_ID`
+    FROM `system_position` sp
+    INNER JOIN `system_position_user` spu ON spu.`POSITION_ID` = sp.`ID` AND spu.`DELETED` = 0
+    INNER JOIN `system_user` su ON su.`ID` = spu.`USER_ID`
     <where>
       sp.DELETED = 0
       AND spu.USER_ID = #{userId}
diff --git a/server/dmmall_service/src/main/resources/mappers/SystemRoleMapper.xml b/server/dmmall_service/src/main/resources/mappers/SystemRoleMapper.xml
index e2851b9..feaa0dd 100644
--- a/server/dmmall_service/src/main/resources/mappers/SystemRoleMapper.xml
+++ b/server/dmmall_service/src/main/resources/mappers/SystemRoleMapper.xml
@@ -19,9 +19,9 @@
       role.ID, role.`CODE`, role.`NAME`, role.`REMARK`, role.`FIXED`, role.`CREATE_TIME`, role.`UPDATE_TIME`,
       create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
       update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
-    FROM SYSTEM_ROLE role
-    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = role.CREATE_USER
-    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = role.UPDATE_USER
+    FROM system_role role
+    LEFT JOIN `system_user` create_user ON create_user.ID = role.CREATE_USER
+    LEFT JOIN `system_user` update_user ON update_user.ID = role.UPDATE_USER
     <where>
       role.DELETED = 0
       <if test="dto.code != null and dto.code != ''">
@@ -38,8 +38,8 @@
   <select id="selectByUserId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemRole">
     SELECT
     role.ID, role.`CODE`, role.`NAME`, role.`REMARK`, role.`CREATE_TIME`, role.`UPDATE_TIME`
-    FROM SYSTEM_ROLE role
-    INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role.ID AND user_role.DELETED = 0
+    FROM system_role role
+    INNER JOIN system_user_role user_role ON user_role.ROLE_ID = role.ID AND user_role.DELETED = 0
     <where>
       role.DELETED = 0
       AND user_role.USER_ID = #{userId}
diff --git a/server/dmmall_service/src/main/resources/mappers/SystemUserMapper.xml b/server/dmmall_service/src/main/resources/mappers/SystemUserMapper.xml
index 02a6d47..0e93e5b 100644
--- a/server/dmmall_service/src/main/resources/mappers/SystemUserMapper.xml
+++ b/server/dmmall_service/src/main/resources/mappers/SystemUserMapper.xml
@@ -25,13 +25,13 @@
       sd.ID AS DEPARTMENT_ID, sd.`NAME` AS DEPARTMENT_NAME,
       create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
       update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
-    FROM `SYSTEM_USER` usr
-    LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = usr.CREATE_USER
-    LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = usr.UPDATE_USER
-    LEFT JOIN `SYSTEM_POSITION_USER` spu ON spu.USER_ID = usr.ID AND spu.DELETED = 0
-    LEFT JOIN `SYSTEM_POSITION` sp ON sp.ID = spu.POSITION_ID AND sp.DELETED = 0
-    LEFT JOIN `SYSTEM_DEPARTMENT_USER` sdu ON sdu.USER_ID = usr.ID AND sdu.DELETED = 0
-    LEFT JOIN `SYSTEM_DEPARTMENT` sd ON sd.ID = sdu.DEPARTMENT_ID AND sd.DELETED = 0
+    FROM `system_user` usr
+    LEFT JOIN `system_user` create_user ON create_user.ID = usr.CREATE_USER
+    LEFT JOIN `system_user` update_user ON update_user.ID = usr.UPDATE_USER
+    LEFT JOIN `system_position_user` spu ON spu.USER_ID = usr.ID AND spu.DELETED = 0
+    LEFT JOIN `system_position` sp ON sp.ID = spu.POSITION_ID AND sp.DELETED = 0
+    LEFT JOIN `system_department_user` sdu ON sdu.USER_ID = usr.ID AND sdu.DELETED = 0
+    LEFT JOIN `system_department` sd ON sd.ID = sdu.DEPARTMENT_ID AND sd.DELETED = 0
     <where>
       usr.DELETED = 0
       <if test="dto.positionId != null">
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/CommentApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/CommentApi.java
index 2094620..f17d742 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/CommentApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/CommentApi.java
@@ -13,10 +13,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @author 姹熻箘韫�
@@ -36,6 +33,15 @@
     }
 
 
+    @LoginRequired
+    @ApiOperation("鍒犻櫎璇勮")
+    @GetMapping("/delete/{id}")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        commentService.deleteById(id,getMemberId());
+        return ApiResponse.success(null);
+    }
+
+
     /**
      * 鍒嗛〉娲诲姩鎺㈠簵璇勮鏌ヨ
      *
diff --git a/server/dmmall_web/src/main/resources/application.yml b/server/dmmall_web/src/main/resources/application.yml
index f1360c3..aa33e6b 100644
--- a/server/dmmall_web/src/main/resources/application.yml
+++ b/server/dmmall_web/src/main/resources/application.yml
@@ -10,7 +10,7 @@
   #  application:
   #    name: doumeemes
   profiles:
-    active: dev
+    active: pro
 
   # JSON杩斿洖閰嶇疆
   jackson:

--
Gitblit v1.9.3