From df587a823a6d61f178e43cac10403218b06c3646 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 26 二月 2026 17:41:48 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsInfoResponse.java           |    4 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java              |   58 +++-
 server/dmmall_service/src/main/java/com/doumee/dao/web/dto/shop/ShopListDTO.java                       |    4 
 server/dmmall_service/src/main/java/com/doumee/dao/web/dto/activity/ActivityReplyCommentDTO.java       |    2 
 server/dmmall_service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java                         |   47 +++
 server/dmmall_service/src/main/java/com/doumee/dao/web/request/goods/OrderPayConfirmRequest.java       |    2 
 server/dmmall_web/src/main/java/com/doumee/api/web/CollectApi.java                                     |   24 +
 server/dmmall_web/src/main/java/com/doumee/api/web/SharesApi.java                                      |    4 
 server/dmmall_admin/src/main/java/com/doumee/api/business/ShopController.java                          |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberBank.java                      |    7 
 server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderPayConfirmResponse.java     |    3 
 server/dmmall_web/src/main/java/com/doumee/api/web/mall/GoodsApi.java                                  |    5 
 server/dmmall_service/src/main/resources/application-dev.yml                                           |    2 
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/WithdrawRecord.java                  |    6 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java            |   51 ++-
 server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java                                     |   15 +
 server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java                     |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java             |   22 +
 server/dmmall_web/src/main/java/com/doumee/api/web/UtilApi.java                                        |   12 
 server/dmmall_service/src/main/java/com/doumee/service/business/InviteRecordService.java               |    2 
 server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java                               |   16 
 server/dmmall_service/src/main/java/com/doumee/service/business/CollectService.java                    |    5 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java          |   98 ++++++-
 server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsMapper.java                           |    8 
 server/dmmall_service/src/main/java/com/doumee/dao/web/response/ShopInfoResponse.java                  |    4 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java           |    5 
 server/dmmall_service/src/main/java/com/doumee/dao/web/response/CollectResponse.java                   |   28 ++
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Activity.java                        |    1 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/InviteRecordServiceImpl.java      |   36 +-
 server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java                     |    4 
 server/dmmall_service/src/main/java/com/doumee/dao/web/response/IntegralDataResponse.java              |    9 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/CollectServiceImpl.java           |   65 +++-
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Integral.java                        |   15 +
 server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderGoodsCalculateResponse.java |   23 -
 server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java             |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java    |    4 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java        |   54 +++-
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java      |    3 
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Collect.java                         |    4 
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Member.java                          |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberBankServiceImpl.java        |   13 
 server/dmmall_service/src/main/java/com/doumee/service/business/ShopService.java                       |    4 
 server/dmmall_web/src/main/java/com/doumee/api/web/MemberBankApi.java                                  |   12 
 server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsSkuMapper.java                        |    2 
 server/dmmall_web/src/main/java/com/doumee/api/web/ShopApi.java                                        |    8 
 server/dmmall_service/src/main/java/com/doumee/dao/web/dto/IntegralRecordDTO.java                      |   15 +
 server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java                                  |   23 +
 47 files changed, 561 insertions(+), 176 deletions(-)

diff --git a/server/dmmall_admin/src/main/java/com/doumee/api/business/ShopController.java b/server/dmmall_admin/src/main/java/com/doumee/api/business/ShopController.java
index 289c5ee..3d99a04 100644
--- a/server/dmmall_admin/src/main/java/com/doumee/api/business/ShopController.java
+++ b/server/dmmall_admin/src/main/java/com/doumee/api/business/ShopController.java
@@ -73,7 +73,7 @@
     @ApiOperation("鏍规嵁ID淇敼")
     @PostMapping("/updateById")
     @RequiresPermissions("business:shop:update")
-    public ApiResponse updateById(@RequestBody Shop shop) {
+    public ApiResponse updateById(@RequestBody Shop shop) throws Exception {
         shopService.updateById(shop);
         return ApiResponse.success(null);
     }
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 73fe3ef..7a0c14a 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
@@ -2,10 +2,7 @@
 
 import cn.binarywang.wx.miniapp.bean.WxMaCodeLineColor;
 import com.doumee.core.wx.WxMiniConfig;
-import com.doumee.dao.business.model.Areas;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 
 import java.io.ByteArrayInputStream;
@@ -13,8 +10,6 @@
 import java.math.BigDecimal;
 import java.net.URLDecoder;
 import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 @Slf4j
 public class Constants {
@@ -899,7 +894,6 @@
         ORDER_DONE_AMOUNT(16,"璁㈠崟缁撶畻","${param1}璁㈠崟缁撶畻鎴愬姛锛岃幏寰楋骏${param}",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
         WITHDRAW_APPLY(17,"浣欓鎻愮幇","浣欓鎻愮幇宸叉彁浜わ紝娑堣�楋骏${param}",0,1),
         WITHDRAW_APPLY_BACK(19,"鎻愮幇閫�鍥�","浣欓鎻愮幇澶辫触锛岃幏寰楋骏${param}",0,1),
-//        ORDER_DONE_AMOUNT_BACK(20,"璁㈠崟缁撶畻閫�鍥�","${param1}璁㈠崟缁撶畻閫�鍥烇紝娑堣�楋骏${param}鍏�",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
         SHOP_ORDER_REFUND_CASH(25,"璁㈠崟閫�娆�","${param1}璁㈠崟閫�娆撅紝鎵i櫎缁撶畻閲戦锟�${param}",0,0),
 
 
@@ -1319,7 +1313,7 @@
         // 鍦烘櫙鐮侊紝涓庡墠绔害瀹氾紝鏈�缁堟槸闇�瑕佸墠绔В鏋�
         body.put("scene", scene);
         // 姝e紡鐗堜负 "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop"銆傞粯璁ゆ槸姝e紡鐗堛��
-        String env_version = "release";
+        String env_version = "develop";
         body.put("env_version", env_version);
         if(isUsePage){
             body.put("page", page);
@@ -1359,4 +1353,12 @@
         }
         return null;
     }
+
+    public static String getBankInfo(String bankName, String bankAccount){
+        return bankName + "("+
+                        bankAccount.
+                                replaceAll("^.*(.{4})$", "$1")
+                        + ")";
+    }
+
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java b/server/dmmall_service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java
index 0c7b424..89f9c8d 100644
--- a/server/dmmall_service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java
+++ b/server/dmmall_service/src/main/java/com/doumee/core/utils/GeneratePicUtil.java
@@ -325,6 +325,53 @@
     }
 
     /**
+     * 鐢熸垚鍒嗕韩鍥剧墖
+     * @param headImg 澶撮儴鍥剧墖
+     * @param wxQrCodeImg 寰俊灏忕▼搴忎簩缁寸爜
+     * @return
+     * @throws Exception
+     */
+    public static InputStream generateShopImg(String headImg,InputStream wxQrCodeImg) throws Exception {
+        BufferedImage bi =  new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
+        //寰楀埌瀹冪殑缁樺埗鐜(杩欏紶鍥剧墖鐨勭瑪)
+        Graphics2D g2 = (Graphics2D) bi.getGraphics();
+        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
+        g2.fillRect(0, 0, width, height);
+
+        //鑳屾櫙鍥剧墖
+//        BufferedImage titles = ImageIO.read(new URL(bg));
+//        g2.drawImage(titles, 1, 1, 894, 1305, null);
+//        g2.drawRect(0, 0, width - 1, height - 1);
+        //澶撮儴鍥剧墖
+        BufferedImage headBg = ImageIO.read(new URL(headImg));
+//        BufferedImage headBg = getImgIO(imgurl);
+        g2.drawImage(headBg, 1, 1, 894, 1080, null);
+        g2.drawRect(0, 0, width - 1, height - 1);
+
+        g2.setColor(Color.black);
+        g2.setFont(new Font("榛戜綋", Font.PLAIN, 40));
+        g2.drawString("闀挎寜璇嗗埆灏忕▼搴�", 46, 1180);
+
+        g2.setColor(Color.gray);
+        g2.setFont(new Font("榛戜綋", Font.PLAIN, 32));
+        g2.drawString("鏌ョ湅鏇村绮惧僵鍐呭", 48, 1230);
+
+        //璁剧疆浜岀淮鐮佸浘鐗�
+//        BufferedImage barcodeCode = ImageIO.read(new URL(wxQrCodeImg));
+        BufferedImage barcodeCode = getImgIO(wxQrCodeImg);
+        g2.drawImage(barcodeCode, 670, 1100, 180, 180,null);
+        g2.drawRect(0, 0, width - 1, height - 1);
+        InputStream inputStream = bufferedImageToInputStream(bi);
+        return inputStream;
+//        String fileName = "8701EAC36DEC405A94C530F0E6796589.jpg"; //ID.nextGUID() + ".jpg";
+//        GeneratePicUtil.saveFile(inputStream, filePath+ File.separator+fileName);
+//        return filePath + File.separator+ fileName;
+    }
+
+
+
+
+    /**
      * 鍥剧墖璁剧疆鍦嗚
      * @param srcImage
      * @return
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsMapper.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsMapper.java
index 6bb4193..e3c4a8d 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsMapper.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsMapper.java
@@ -20,7 +20,7 @@
 
 
     @Select(" select g.* , " +
-            "(( select sum(gd.goods_num) from goodsorder_detail gd inner join goods_sku gs on gd.GOODS_SKU_ID = gs.id where gs.GOODS_ID = g.`id`  )+ g.SALENUM) as realSaleNum ," +
+            "(( select count(1) from goodsorder_detail gd inner join goods_sku gs on gd.GOODS_SKU_ID = gs.id where gs.GOODS_ID = g.`id`  )+ g.SALENUM) as realSaleNum ," +
             //"( select gs.id from goods_sku gs where gs.GOODS_ID = g.id  limit 1 ) as realSaleNum ," +
             " ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = g.id ),0) as minPrice  " +
             " from goods g  " +
@@ -36,9 +36,9 @@
     GoodsInfoResponse getGoodsInfo(@Param("id") Integer id);
 
 
-    @Select(" select g.* , gs.price as minPrice " +
-            " ifnull( ( select   sgr.PRICE from shop_goods_relation sgr where sgr.GOODS_SKU_ID = gs.ID and sgr.ISDELETED = 0 and sgr.`STATUS` = 0  and sgr.SHOP_ID = #{shopId} ) ,0) as exFactoryPrice " +
-            " ifnull(( select sum(gd.goods_num) from goodsorder_detail gd  left  join goodsorder go on gd.ORDER_ID = go.id  where gd.GOODS_SKU_ID = gs.`id` and  go.DISTRIBUTION_SHOP_ID = 1 ),0) as realSaleNum " +
+    @Select(" select g.* , gs.price as minPrice, " +
+            " ifnull( ( select   sgr.PRICE from shop_goods_relation sgr where sgr.GOODS_SKU_ID = gs.ID and sgr.ISDELETED = 0 and sgr.`STATUS` = 0  and sgr.SHOP_ID = #{shopId} ) ,0) as exFactoryPrice ," +
+            " ifnull(( select sum(gd.NAME) from goodsorder_detail gd  inner join goodsorder go on gd.ORDER_ID = go.id  where gd.GOODS_SKU_ID = gs.`id` and  go.DISTRIBUTION_SHOP_ID = #{shopId} ),0) as realSaleNum " +
             " from goods g left join goods_sku gs on g.id = gs.GOODS_ID " +
             " ${ew.customSqlSegment} ")
     IPage<GoodsInfoResponse> goodsPageForShop(IPage<GoodsRequest> page, @Param(Constants.WRAPPER) Wrapper wrapper,@Param("shopId") Integer shopId);
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 50c22e2..a4113ce 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.goods_Id = #{goodsId} ")
+    @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} ")
     List<GoodsSkuResponse> getSkuResponseList(@Param("goodsId") Integer goodsId);
 
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Activity.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Activity.java
index a33d203..7b2e0b8 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Activity.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Activity.java
@@ -166,7 +166,6 @@
     @TableField(exist = false)
     private Integer zanCount;
 
-
     @ApiModelProperty(value = "鏄惁鐐硅禐锛�0=鍚︼紱1=鏄�")
     @TableField(exist = false)
     private Integer zanStatus;
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 655c222..1901852 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
@@ -111,6 +111,10 @@
     private String content;
 
 
+    @ApiModelProperty(value = "绀惧尯灏侀潰鍥�")
+    @TableField(exist = false)
+    private String activityImgurl;
+
 
 
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Integral.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Integral.java
index 91b9fc5..0f61576 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Integral.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Integral.java
@@ -102,11 +102,26 @@
     @TableField(exist = false)
     private Date endtime;
 
+    @ApiModelProperty(value = "浜ゆ槗绫诲瀷")
     @TableField(exist = false)
     @ExcelColumn(name="浜ゆ槗绫诲瀷",index =5,width = 10)
     private String strObjType;
 
 
+    @TableField(exist = false)
+    @ApiModelProperty(value = "鎻愮幇鐘舵��:锛�0=瀹℃壒涓紱1=瀹℃壒閫氳繃锛�2=瀹℃壒椹冲洖")
+    private Integer withdrawStatus;
+
+
+    @ApiModelProperty(value = "鎬绘敹鍏� ")
+    @TableField(exist = false)
+    private BigDecimal inAmount;
+    @ApiModelProperty(value = "鎬绘敮鍑� ")
+    @TableField(exist = false)
+    private BigDecimal outAmount;
+
+
+
 
 //    public static  Integral createIntegral(Integer memberId, Constants.INTEGRAL_TYPE integralType,Integer objId){
 //        Integral integral = new Integral();
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Member.java
index aafedd4..2b6a577 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -88,7 +88,7 @@
     @ExcelColumn(name="绉垎绱鑾峰緱",width = 10,index = 6)
     private BigDecimal totalIntegral;
 
-    @ApiModelProperty(value = "鐘舵��0姝e父 1寮傚父", example = "1")
+    @ApiModelProperty(value = "鐘舵��0姝e父 1寮傚父 2娉ㄩ攢", example = "1")
     @ExcelColumn(name="鐘舵��",width = 10,index =9,valueMapping = "0=鍚敤;1=绂佺敤")
     private Integer status;
 
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberBank.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberBank.java
index 255a3b5..40a5874 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberBank.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberBank.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -71,4 +72,10 @@
     @ExcelColumn(name="鏄惁榛樿 0鍚� 1鏄�")
     private Integer isDefault;
 
+
+    @ApiModelProperty(value = "閾惰鍚嶇О淇℃伅")
+    @TableField(exist = false)
+    private String bankInfo;
+
+
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/WithdrawRecord.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/WithdrawRecord.java
index 973b368..0d80aa0 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/WithdrawRecord.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/WithdrawRecord.java
@@ -69,6 +69,8 @@
     @ExcelColumn(name="閾惰鍚嶇О")
     private String bankName;
 
+
+
     @ApiModelProperty(value = "閾惰璐︽埛")
     @ExcelColumn(name="閾惰璐︽埛")
     private String bankAccount;
@@ -119,4 +121,8 @@
     @ApiModelProperty(value = "缁撴潫鏃堕棿 ")
     @TableField(exist = false)
     private Date endtime;
+
+    @ApiModelProperty(value = "閾惰鍚嶇О淇℃伅")
+    @TableField(exist = false)
+    private String bankInfo;
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/IntegralRecordDTO.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/IntegralRecordDTO.java
index 7785b68..9fab665 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/IntegralRecordDTO.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/IntegralRecordDTO.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.web.dto;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -19,7 +20,21 @@
     @ApiModelProperty(value = "鏁版嵁绫诲瀷锛�0=娑堣垂鑰呯Н鍒嗭紱1=缁忛攢鍟嗙Н鍒嗭紱2=缁忛攢鍟嗙粨绠楅噾棰濓紱")
     private Integer userType;
 
+    @ApiModelProperty(value = "鑾峰彇绫诲瀷锛�16=璁㈠崟缁撶畻锛�17=浣欓鎻愮幇锛�19=鎻愮幇閫�鍥烇紱25=璁㈠崟閫�娆撅紱")
+    private Integer objType;
+
     @ApiModelProperty(value = "鐢ㄦ埛涓婚敭鎴栧晢鎴蜂富閿�",hidden = true)
     private Integer memberId;
 
+
+    @ApiModelProperty(value = "寮�濮嬫棩鏈�")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private String startDate;
+
+    @ApiModelProperty(value = "缁撴潫鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private String endDate;
+
+
+
 }
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 74ba9a5..8ff14e2 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
@@ -22,7 +22,7 @@
     private Integer memberId;
 
     @ApiModelProperty(value = "鐢ㄦ埛鏄电О" )
-    private String memberNikeName;
+    private String nikeName;
 
     @ApiModelProperty(value = "鐢ㄦ埛鏄电О" )
     private String memberImgUrl;
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/shop/ShopListDTO.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/shop/ShopListDTO.java
index 83d3526..a768771 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/shop/ShopListDTO.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/shop/ShopListDTO.java
@@ -12,8 +12,8 @@
 @ApiModel("灏忕▼搴� 閫夋嫨鍟嗘埛璇锋眰绫�")
 public class ShopListDTO {
 
-    @ApiModelProperty(value = "鍩庡競涓婚敭", example = "1")
-    private Integer cityId;
+    @ApiModelProperty(value = "鍩庡競鍚嶇О", example = "1")
+    private String cityName;
     @ApiModelProperty(value = "瀹氫綅缁村害", example = "1")
     private String lat;
     @ApiModelProperty(value = "瀹氫綅缁忓害", example = "1")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java
index d939673..6dbacd2 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java
@@ -40,6 +40,8 @@
 
 
     @ApiModelProperty(value = "閭�璇风爜")
-    private String recId;
+    private Integer recId;
 
+    @ApiModelProperty(value = "鍟嗘埛涓婚敭")
+    private Integer shopId;
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/goods/OrderPayConfirmRequest.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/goods/OrderPayConfirmRequest.java
index f8d735d..f2b6376 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/goods/OrderPayConfirmRequest.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/goods/OrderPayConfirmRequest.java
@@ -32,7 +32,7 @@
     @ApiModelProperty(value = "浼樻儬鍒镐富閿�", example = "1")
     private Integer couponId;
 
-    @ApiModelProperty(value = "鏄惁浣跨敤绉垎", example = "1")
+    @ApiModelProperty(value = "鏄惁浣跨敤绉垎锛�0=鍚︼紱1=鏄紱", example = "1")
     private Integer useIntegral;
 
     @ApiModelProperty(value = "鐢ㄦ埛涓婚敭" ,hidden = true)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/CollectResponse.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/CollectResponse.java
new file mode 100644
index 0000000..059c897
--- /dev/null
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/CollectResponse.java
@@ -0,0 +1,28 @@
+package com.doumee.dao.web.response;
+
+import com.doumee.dao.business.model.Member;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/3/23 9:25
+ */
+@Data
+@ApiModel("鏀惰棌鏁伴噺杩斿洖淇℃伅")
+public class CollectResponse implements Serializable {
+
+    @ApiModelProperty(value = "鍟嗗搧鏁伴噺")
+    private Long goodsNum;
+
+    @ApiModelProperty(value = "绀惧尯鏁伴噺")
+    private Long activityNum;
+
+
+
+}
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/IntegralDataResponse.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/IntegralDataResponse.java
index a1461b9..68e5fc5 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/IntegralDataResponse.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/IntegralDataResponse.java
@@ -26,4 +26,13 @@
     @ApiModelProperty(value = "绉垎璇存槑")
     private String info;
 
+    @ApiModelProperty(value = "宸叉彁鐜颁綑棰�")
+    private BigDecimal withdrawAmount;
+
+    @ApiModelProperty(value = "寰呯粨绠椾綑棰�")
+    private BigDecimal waitPayAmount;
+
+    @ApiModelProperty(value = "鎻愮幇涓綑棰�")
+    private BigDecimal withdrawIngAmount;
+
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/ShopInfoResponse.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/ShopInfoResponse.java
index dfa7614..2ccd765 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/ShopInfoResponse.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/ShopInfoResponse.java
@@ -77,4 +77,8 @@
     @ApiModelProperty(value = "鐪佸競鍖�")
     private Areas areas;
 
+    @ApiModelProperty(value = "鍙彁鐜颁綑棰�")
+    private BigDecimal amount;
+
+
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsInfoResponse.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsInfoResponse.java
index d8557bc..15ef9ac 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsInfoResponse.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/GoodsInfoResponse.java
@@ -88,7 +88,11 @@
     @ApiModelProperty(value = "鏀惰棌鐘舵�侊細0=鏈敹钘忥紱1=宸叉敹钘�")
     private Integer collectStatus;
 
+    @ApiModelProperty(value = "閫傜敤鍝佺墝ID闆嗗悎锛岋紙[1],[2]锛�")
+    private String brandIds ;
 
+    @ApiModelProperty(value = "閫傜敤鍝佺墝鍚嶇О")
+    private String brandNames ;
 
 //    @ApiModelProperty(value = "鍟嗗搧鏍囩")
 //    private List<Labels> labelsList;
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderGoodsCalculateResponse.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderGoodsCalculateResponse.java
index 6e79df9..2305361 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderGoodsCalculateResponse.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderGoodsCalculateResponse.java
@@ -53,40 +53,37 @@
     private BigDecimal skuPrice;
 
     @ApiModelProperty(value = "sku鎬婚噾棰�")
-    private BigDecimal skuAmount;
+    private BigDecimal skuAmount ;
 
     @ApiModelProperty(value = "sku瀹炰粯鎬婚噾棰�")
-    private BigDecimal skuPayAmount;
+    private BigDecimal skuPayAmount = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "skuId")
     private Integer skuId;
 
     @ApiModelProperty(value = "璁㈠崟涓紭鎯犲埜閲戦鍗犳瘮", hidden = true)
-    private BigDecimal orderCouponRata;
+    private BigDecimal orderCouponRata = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "浼樻儬鍒告姷鎵i噾棰�", hidden = true)
-    private BigDecimal couponDeductCash;
+    private BigDecimal couponDeductCash = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "鏄惁鍙互浣跨敤浼樻儬鍒�", hidden = true)
     private Boolean useCoupon;
 
-
-
+    @ApiModelProperty(value = "sku鍥剧墖")
+    private String skuImg;
 
     @ApiModelProperty(value = "绉垎鏈�澶у彲鎶垫墸閲戦", hidden = true)
-    private BigDecimal integralMaxDeductCash;
+    private BigDecimal integralMaxDeductCash  = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "绉垎瀹為檯鎶垫墸閲戦", hidden = true)
-    private BigDecimal integralDeductCash;
-
+    private BigDecimal integralDeductCash = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "瀹為檯浣跨敤绉垎", hidden = true)
-    private BigDecimal integralDeduct;
+    private BigDecimal integralDeduct = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "璁㈠崟涓Н鍒嗛噾棰濆疄闄呭崰姣�", hidden = true)
-    private BigDecimal orderIntegralRata;
-
-
+    private BigDecimal orderIntegralRata = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "搴撳瓨閲�")
     private BigDecimal stockNum;
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderPayConfirmResponse.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderPayConfirmResponse.java
index 5169238..4b705db 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderPayConfirmResponse.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/OrderPayConfirmResponse.java
@@ -36,9 +36,6 @@
     @ApiModelProperty(value = "鍓╀綑绉垎鍊�", example = "1")
     private BigDecimal surplusIntegral;
 
-
-
-
     @ApiModelProperty(value = "閭垂閲戦", example = "1")
     private BigDecimal mailAmount;
 
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/CollectService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/CollectService.java
index 79486b9..afd23ea 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/CollectService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/CollectService.java
@@ -5,6 +5,7 @@
 import com.doumee.dao.business.model.Collect;
 import com.doumee.dao.web.dto.CollectDTO;
 import com.doumee.dao.web.request.CollectSaveRequest;
+import com.doumee.dao.web.response.CollectResponse;
 
 import java.util.List;
 import java.util.Map;
@@ -109,5 +110,7 @@
 
     void saveCollect(CollectSaveRequest request, Integer memberId);
 
-    List<Collect> myCollect(Integer memberId,Integer type);
+    PageData<Collect> myCollectPage(PageWrap<Collect> pageWrap,Integer memberId);
+
+    CollectResponse getCollectNum(Integer memberId);
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/InviteRecordService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/InviteRecordService.java
index b3c642a..547e39e 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/InviteRecordService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/InviteRecordService.java
@@ -16,7 +16,7 @@
 
     InviteInfoResponse getInviteInfo(Integer memberId);
 
-    String createShareImg(Integer userType,Integer memberId) throws Exception;
+    String createShareImg(Integer userType,Integer memberId,String posterImg) throws Exception;
 
     String createShopMiniProgramCode(Integer shopId) throws Exception;
     /**
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java
index a1447ef..10742fd 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -200,4 +200,6 @@
     void logOut(String token,Integer memberId);
 
     void logOff(String token,Integer memberId);
+
+    void bindShopInfo(Integer memberId,Integer recId);
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/ShopService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/ShopService.java
index e51fe67..689a720 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/ShopService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/ShopService.java
@@ -60,7 +60,7 @@
      *
      * @param shop 瀹炰綋瀵硅薄
      */
-    void updateById(Shop shop);
+    void updateById(Shop shop) throws Exception;
 
     void updateIsRecById(Shop shop);
 
@@ -71,7 +71,7 @@
      *
      * @param shops 瀹炰綋闆�
      */
-    void updateByIdInBatch(List<Shop> shops);
+//    void updateByIdInBatch(List<Shop> shops);
 
     /**
      * 鏀寔缁存姢搴楅摵淇℃伅
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java
index 90f18fc..b7f0669 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java
@@ -102,5 +102,5 @@
      * @param request
      * @param integralService
      */
-    void withdrawApply(WithdrawApplyRequest request, IntegralService integralService);
+    Integer withdrawApply(WithdrawApplyRequest request, IntegralService integralService);
 }
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 de0403d..18ddbf7 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
@@ -16,6 +16,8 @@
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.dto.CollectDTO;
 import com.doumee.dao.web.request.CollectSaveRequest;
+import com.doumee.dao.web.request.ShopOrderRequest;
+import com.doumee.dao.web.response.CollectResponse;
 import com.doumee.service.business.CollectService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -222,51 +224,66 @@
 
 
     @Override
-    public List<Collect> myCollect(Integer memberId,Integer type){
-        List<Collect> collectList = new ArrayList<>();
-        if(Constants.equalsInteger(type,Constants.ZERO)){
-            collectList = collectMapper.selectJoinList(Collect.class,new MPJLambdaWrapper<Collect>()
-                            .selectAll(Collect.class)
-                            .selectAs(Goods::getName,Collect::getName)
-                            .selectAs(Goods::getPrice,Collect::getPrice)
-                            .selectAs(Goods::getImgurl,Collect::getImgurl)
-                            .select(" ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = t1.id ),0) ", Collect::getLinePrice)
-                            .leftJoin(Goods.class,Goods::getId,Collect::getObjId)
+    public PageData<Collect> myCollectPage(PageWrap<Collect> pageWrap,Integer memberId){
+        IPage<Collect> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        Utils.MP.blankToNull(pageWrap.getModel());
+        Collect model = pageWrap.getModel();
+        if(Constants.equalsInteger(model.getObjType(),Constants.ONE)){
+            IPage<Collect> result = collectMapper.selectJoinPage(page, Collect.class, new MPJLambdaWrapper<Collect>()
+                    .selectAll(Collect.class)
+                    .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)
+                    .leftJoin(Goods.class,Goods::getId,Collect::getObjId)
                     .eq(Collect::getIsdeleted,Constants.ZERO)
                     .eq(Collect::getMemberId,memberId)
-                    .eq(Collect::getObjType,type)
-                    .orderByDesc(Collect::getId)
-            );
-            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(collectList)){
+                    .eq(Collect::getObjType,Constants.ONE)
+                    .orderByDesc(Collect::getId));
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(result.getRecords())){
                 String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.GOODS_FILE);
-                collectList.forEach(s->s.setImgurl(preFixPath+s.getImgurl()));
+                result.getRecords().forEach(s->s.setImgurl(StringUtils.isNotBlank(s.getActivityImgurl())?preFixPath+s.getActivityImgurl():null));
             }
+            return PageData.from(result);
         }else{
-            collectList = collectMapper.selectJoinList(Collect.class,new MPJLambdaWrapper<Collect>()
+            IPage<Collect> result = collectMapper.selectJoinPage(page, Collect.class, new MPJLambdaWrapper<Collect>()
                     .selectAll(Collect.class)
                     .selectAs(Activity::getName,Collect::getName)
                     .selectAs(Activity::getCreateDate,Collect::getReleaseDate)
                     .selectAs(Activity::getLooknum,Collect::getReadNum)
-                    .selectAs(Activity::getImgurl,Collect::getImgurl)
+                    .selectAs(Activity::getImgurl,Collect::getActivityImgurl)
                     .selectAs(Labels::getName,Collect::getLabelName)
                     .selectAs(Activity::getContent,Collect::getContent)
                     .leftJoin(Activity.class,Activity::getId,Collect::getObjId)
                     .leftJoin(Labels.class,Labels::getId,Activity::getLabelId)
                     .eq(Collect::getIsdeleted,Constants.ZERO)
                     .eq(Collect::getMemberId,memberId)
-                    .eq(Collect::getObjType,type)
-                    .orderByDesc(Collect::getId)
-            );
-            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(collectList)){
+                    .eq(Collect::getObjType,Constants.ZERO)
+                    .orderByDesc(Collect::getId));
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(result.getRecords())){
                 String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.ACTIVITY_FILE);
-                collectList.forEach(s->s.setImgurl(preFixPath+s.getImgurl()));
-                collectList.stream().filter(s-> StringUtils.isNotBlank(s.getContent())).forEach(s->s.setContent(RichTextProcessor.extractPlainTextFromHtml(s.getContent())));
+                result.getRecords().forEach(s->s.setImgurl(StringUtils.isNotBlank(s.getActivityImgurl())?preFixPath+s.getActivityImgurl():null));
+                result.getRecords().stream().filter(s-> StringUtils.isNotBlank(s.getContent())).forEach(s->s.setContent(RichTextProcessor.extractPlainTextFromHtml(s.getContent())));
             }
+            return PageData.from(result);
         }
-        return collectList;
     }
 
 
+    @Override
+    public CollectResponse getCollectNum(Integer memberId){
+        CollectResponse response = new CollectResponse();
+        response.setGoodsNum( collectMapper.selectCount(new QueryWrapper<Collect>().lambda()
+                .eq(Collect::getObjType,Constants.ONE)
+                .eq(Collect::getMemberId,memberId)
+        ));
+        response.setActivityNum( collectMapper.selectCount(new QueryWrapper<Collect>().lambda()
+                .eq(Collect::getObjType,Constants.ZERO)
+                .eq(Collect::getMemberId,memberId)
+        ));
+        return response;
+    }
+
 
 
 }
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 899ea8b..2c52b88 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
@@ -89,6 +89,7 @@
             target.setReplyId(reply.getId());
             target.setReplyMemberId(reply.getMemberId());
             target.setCommentId(reply.getId());
+            target.setCommentMemberId(reply.getMemberId());
             target.setType(Constants.ONE);
         }
 
@@ -264,7 +265,7 @@
         replyWrapper.selectAs(Comment::getCommentId,ActivityReplyCommentDTO::getCommentId);
         replyWrapper.selectAs(Comment::getMemberId,ActivityReplyCommentDTO::getMemberId);
         replyWrapper.selectAs(Comment::getContent,ActivityReplyCommentDTO::getContent);
-        replyWrapper.selectAs(Member::getNickname,ActivityReplyCommentDTO::getMemberNikeName);
+        replyWrapper.selectAs(Member::getNickname,ActivityReplyCommentDTO::getNikeName);
         replyWrapper.selectAs(Member::getImgurl,ActivityReplyCommentDTO::getMemberImgUrl);
         replyWrapper.selectCount(Comment::getId,ActivityReplyCommentDTO::getReplyCount);
         replyWrapper.selectMin(Comment::getCreateDate,ActivityReplyCommentDTO::getCreateDate);
@@ -324,7 +325,7 @@
         MPJLambdaWrapper<Comment> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
         queryWrapper.selectAll(Comment.class);
-        queryWrapper.selectAs(Member::getNickname,ActivityReplyCommentDTO::getMemberNikeName);
+        queryWrapper.selectAs(Member::getNickname,ActivityReplyCommentDTO::getNikeName);
         queryWrapper.selectAs(Member::getImgurl,ActivityReplyCommentDTO::getMemberImgUrl);
         if(Objects.isNull(pageWrap.getModel().getMemberId())){
             queryWrapper.select(" 0 ",ActivityReplyCommentDTO::getZanStatus);
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 04cba6c..ecb5f69 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
@@ -984,14 +984,32 @@
                 goodsMapper.goodsPageForShop(pageWrap.toPage(),wrapper,model.getShopId()) ;
         if (!CollectionUtils.isEmpty(page.getRecords())){
             String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.GOODS_FILE);
+
+
             for (GoodsInfoResponse goodsInfoResponse:page.getRecords()
                  ) {
                 goodsInfoResponse.setImgurl(StringUtils.isNotBlank(goodsInfoResponse.getImgurl())?(preFixPath+goodsInfoResponse.getImgurl()):null);
-                //sku鍩虹淇℃伅
-                this.getSkuInfo(goodsInfoResponse);
+                if(Objects.isNull(model.getShopId())){
+                    //sku鍩虹淇℃伅
+                    this.getSkuInfo(goodsInfoResponse);
+                }
+                if(StringUtils.isNotBlank(goodsInfoResponse.getBrandIds())){
+                    List<Labels> allBrands = labelsMapper.selectList(new QueryWrapper<Labels>().lambda()
+                            .in(Labels::getId,getNumIdByIdsString(goodsInfoResponse.getBrandIds()))
+                            .eq(Labels::getType,Constants.LabelsType.APPLICABLE_BRAND.getKey())
+                            .eq(Labels::getIsdeleted,Constants.ZERO)
+                    );
+                    if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(allBrands)){
+                        goodsInfoResponse.setBrandNames(String.join("/",allBrands.stream().map(i->i.getName()).collect(Collectors.toList())));
+                    }
+                }
             }
         }
         if(StringUtils.isNotBlank(model.getGoodsName())&&Objects.nonNull(model.getMemberId())){
+            searchHistoryMapper.delete(new QueryWrapper<SearchHistory>().lambda()
+                    .eq(SearchHistory::getMemberId,model.getMemberId())
+                    .eq(SearchHistory::getContent,model.getGoodsName())
+            );
             SearchHistory searchHistory = new SearchHistory();
             searchHistory.setIsdeleted(Constants.ZERO);
             searchHistory.setContent(model.getGoodsName());
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 5068fc0..dd78f76 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
@@ -727,6 +727,8 @@
         goodsorder.setMemberId(member.getId());
         goodsorder.setType(Constants.ZERO);
         goodsorder.setStatus(Constants.ZERO);
+        goodsorder.setReceiveType(orderPayRequest.getReceiveType());
+        goodsorder.setCouponPrice(BigDecimal.ZERO);
         Shop shop = null;
         if(Constants.equalsInteger(orderPayRequest.getReceiveType(),Constants.ZERO)){
             //鏌ヨ鏀惰揣鍦板潃
@@ -782,6 +784,7 @@
         payConfirmRequest.setAddressId(orderPayRequest.getAddressId());
         payConfirmRequest.setMemberId(member.getId());
         payConfirmRequest.setCouponId(orderPayRequest.getCouponId());
+        payConfirmRequest.setUseIntegral(orderPayRequest.getUseIntegral());
         //閫氳繃鏀粯纭鎺ュ彛鑾峰彇鐢熸垚鏀粯淇℃伅
         OrderPayConfirmResponse orderPayConfirmResponse = this.orderPayConfirm(payConfirmRequest,memberCouponService);
         if(Objects.isNull(orderPayConfirmResponse)){
@@ -793,6 +796,7 @@
         goodsorder.setIntegral(orderPayConfirmResponse.getIntegralAmount());
         goodsorder.setMailPrice(orderPayConfirmResponse.getMailAmount());
         goodsorder.setPayMethod(goodsorder.getPrice().compareTo(BigDecimal.ZERO)>Constants.ZERO?Constants.ZERO:Constants.ONE);
+        goodsorder.setGoodsNum(orderPayRequest.getPayDetailRequestList().stream().mapToInt(PayDetailRequest::getGoodsNum).sum());
         if(Objects.nonNull(orderPayConfirmResponse.getMemberCoupon())){
             sumPrice = sumPrice.subtract(orderPayConfirmResponse.getMemberCoupon().getPrice());
             goodsorder.setCouponId(orderPayConfirmResponse.getMemberCoupon().getId());
@@ -811,6 +815,7 @@
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏃犳槑缁嗘暟鎹�,璇锋鏌ラ�夋嫨鏁版嵁锛�");
         }
         List<GoodsorderDetail> goodsOrderDetailList = new ArrayList<>();
+        BigDecimal shopSettlement = BigDecimal.ZERO;
         for (OrderGoodsCalculateResponse payDetailRequest:goodsCalculateList) {
             //鏌ヨ鍟嗗搧
             GoodsSku goodsSku = goodsSkuMapper.selectById(payDetailRequest.getSkuId());
@@ -843,6 +848,7 @@
             goodsOrderDetail.setCouponDeduct(payDetailRequest.getCouponDeductCash());
             goodsOrderDetail.setIntegralDeduct(payDetailRequest.getIntegralDeductCash());
             goodsOrderDetail.setOrderId(goodsorder.getId());
+            goodsOrderDetail.setGoodsId(goodsSku.getGoodsId());
 
             //鍒ゆ柇闂ㄥ簵鏄惁璁剧疆鍟嗗搧鐨勪环鏍间俊鎭�
             if(Objects.nonNull(goodsorder.getDistributionShopId())){
@@ -856,7 +862,6 @@
                 if(Objects.isNull(shopGoodsRelation)){
                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝缁忛攢鍟嗘湭缁戝畾["+goods.getName()+"]鍟嗗搧锛岃鑱旂郴绠$悊鍛橈紒");
                 }
-
                 PlatformConfigDTO platformConfigDTO = systemDictDataService.getPlatformConfigDTO();
                 //缁忛攢鍟嗕紭鎯犳壙鎷呭崰姣�
                 BigDecimal shopRate = new BigDecimal("100").subtract(platformConfigDTO.getTotalRate());
@@ -867,8 +872,11 @@
                 if(shop.getSaleType().equals(Constants.ONE)){
                     goodsOrderDetail.setShopSettlement(goodsOrderDetail.getPrice().subtract(shopDeductAmount));
                 }else {
+                    //骞冲彴閾鸿揣
                     goodsOrderDetail.setShopSettlement(
-                            shopGoodsRelation.getPrice().subtract(shopGoodsRelation.getPrice()).subtract(shopDeductAmount));
+                            goodsOrderDetail.getPrice()
+                                    .subtract(shopGoodsRelation.getPrice())
+                                    .subtract(shopDeductAmount));
                 }
                 if(goodsOrderDetail.getShopSettlement().compareTo(BigDecimal.ZERO)<Constants.ZERO){
                     goodsOrderDetail.setShopSettlement(BigDecimal.ZERO);
@@ -876,12 +884,16 @@
             }else{
                 goodsOrderDetail.setShopSettlement(BigDecimal.ZERO);
             }
+            shopSettlement = shopSettlement.add(goodsOrderDetail.getShopSettlement());
             goodsOrderDetailList.add(goodsOrderDetail);
             //鍒犻櫎璐墿杞﹀晢鍝�
             shopcartMapper.delete(new QueryWrapper<Shopcart>().lambda()
                     .eq(Shopcart::getMemberId,member.getId())
                     .eq(Shopcart::getGoodsSkuId,goodsOrderDetail.getGoodsSkuId())
             );
+        }
+        if(CollectionUtils.isNotEmpty(goodsOrderDetailList)){
+            goodsorderDetailMapper.insert(goodsOrderDetailList);
         }
         //绉垎鍙樺姩璁板綍
         if(goodsorder.getUseIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
@@ -899,6 +911,8 @@
         if(goodsorder.getPrice().compareTo(orderPayRequest.getTitlePrice())!=Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍟嗗搧浠锋牸鍙戠敓鍙樺寲锛岃鍒锋柊鍚庨噸鏂版敮浠橈紒");
         }
+
+
         //瀛樺湪鐜伴噾鏀粯
         if(Constants.equalsInteger(goodsorder.getPayMethod(),Constants.ZERO)){
             return this.wxPay(goodsorder,member);
@@ -906,6 +920,7 @@
         //鏃犵幇閲戞敮浠�
         goodsorderMapper.update(null,new UpdateWrapper<Goodsorder>().lambda()
                 .set(Goodsorder::getStatus,Constants.ONE)
+                .set(Goodsorder::getShopSettlement,shopSettlement)
                 .set(Goodsorder::getPayStatus,Constants.OrderStatus.PAY_DONE.getKey())
                 .set(Goodsorder::getPayDate,DateUtil.getCurrDateTime())
                 .set(Goodsorder::getId,goodsorder.getId())
@@ -993,7 +1008,7 @@
             request.setBody("骞冲彴鍟嗗煄");
             request.setAttach("shopGoods");
             request.setOutTradeNo(goodsorder.getCode().toString());
-            request.setTotalFee(BaseWxPayRequest.yuanToFen(goodsorder.getPrice().toString()));
+            request.setTotalFee(1);//BaseWxPayRequest.yuanToFen(goodsorder.getPrice().toString()));
           //  request.setTotalFee(2);
             request.setTimeStart(DateUtil.DateToString(new Date(), "yyyyMMddHHmmss"));
             request.setSpbillCreateIp(this.getIpAddr());
@@ -1244,8 +1259,7 @@
             fundMapper.insert(fund);
         }
         //璁㈠崟宸叉敮浠樼姸鎬� 锛� 浣跨敤浜嗙Н鍒� 涓旂Н鍒嗕娇鐢ㄥぇ浜�0
-        if(goodsorder.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO
-                &&Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())){
+        if(goodsorder.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
             //鏇存柊浣欓淇℃伅 娣诲姞绉垎鍙樺姩璁板綍
             DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
             dealIntegralRequest.setIntegralNum(goodsorder.getIntegral());
@@ -1291,6 +1305,8 @@
                 memberCouponMapper.updateById(memberCoupon);
             }
         }
+
+
     }
 
     public BigDecimal getDeductAmount(List<PayDetailRequest> requestList){
@@ -1339,6 +1355,7 @@
         OrderPayConfirmResponse orderPayConfirmResponse = new OrderPayConfirmResponse();
         List<Goods> goodsList = goodsMapper.selectJoinList(Goods.class,
                 new MPJLambdaWrapper<Goods>()
+                        .selectAll(Goods.class)
                         .selectAs(GoodsSku::getPrice,Goods::getSkuPrice)
                         .selectAs(GoodsSku::getId,Goods::getSkuId)
                         .selectAs(GoodsSku::getIntegralRate,Goods::getDeductRata)
@@ -1349,8 +1366,17 @@
         if(CollectionUtils.isEmpty(goodsList)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈尮閰嶅埌鍟嗗搧淇℃伅");
         }
-        List<OrderGoodsCalculateResponse> goodsCalculateList = ListUtil.copyProperties(goodsList,OrderGoodsCalculateResponse::new);
 
+        List<OrderGoodsCalculateResponse> goodsCalculateList = ListUtil.copyProperties(goodsList,OrderGoodsCalculateResponse::new);
+        String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
+                systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
+        for (OrderGoodsCalculateResponse orderGoodsCalculateResponse:goodsCalculateList) {
+            orderGoodsCalculateResponse.setSkuImg(StringUtils.isNotBlank(orderGoodsCalculateResponse.getSkuImg())?fullUrl+orderGoodsCalculateResponse.getSkuImg():null);
+            if(Objects.isNull(orderGoodsCalculateResponse.getCouponDeductCash())){
+                orderGoodsCalculateResponse.setCouponDeductCash(BigDecimal.ZERO);
+            }
+//            orderGoodsCalculateResponse.setIntegralDeductCash(BigDecimal.ZERO);
+        }
         //璁㈠崟鎬婚噾棰�
         BigDecimal amount = BigDecimal.ZERO;
         //浼樻儬鍒告姷鎵i噾棰�
@@ -1383,7 +1409,7 @@
                 if(CollectionUtils.isEmpty(memberCoupons)){
                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閫夋嫨鐨勪紭鎯犲埜鏃犳晥锛岃鍒锋柊閲嶈瘯");
                 }
-                memberCoupon = memberCouponList.get(Constants.ZERO);
+                memberCoupon = memberCoupons.get(Constants.ZERO);
                 couponAmount = memberCoupon.getValidAmount();
                 memberCouponService.calculateCouponRata(memberCoupon,goodsCalculateList,amount);
                 orderPayConfirmResponse.setMemberCoupon(memberCoupon);
@@ -1490,12 +1516,12 @@
         if(Constants.equalsInteger(type,Constants.ZERO)){
             if( Constants.equalsInteger(platformConfigDTO.getReturnMemberIntegralStatus(),Constants.ZERO)
                 && Objects.nonNull(platformConfigDTO.getReturnMemberIntegral())){
-                integralBack = payAmount.divide(platformConfigDTO.getReturnMemberIntegral(),0,BigDecimal.ROUND_DOWN);
+                integralBack = payAmount.multiply(platformConfigDTO.getReturnMemberIntegral()).divide(BigDecimal.ONE,0,BigDecimal.ROUND_DOWN);
             }
         }else{
             if( Constants.equalsInteger(platformConfigDTO.getReturnShopIntegralStatus(),Constants.ZERO)
                     && Objects.nonNull(platformConfigDTO.getReturnShopIntegral())){
-                integralBack = payAmount.divide(platformConfigDTO.getReturnShopIntegral(),0,BigDecimal.ROUND_DOWN);
+                integralBack = payAmount.multiply(platformConfigDTO.getReturnShopIntegral()).divide(BigDecimal.ONE,0,BigDecimal.ROUND_DOWN);
             }
         }
         return integralBack;
@@ -1511,14 +1537,14 @@
      */
     public BigDecimal  calculateIntegralRata(OrderPayConfirmResponse orderPayConfirmResponse,List<OrderGoodsCalculateResponse> goodsCalculateList,BigDecimal totalIntegral){
         //褰撳墠閫夋嫨鍟嗗搧鏈�澶у彲鐢ㄧН鍒嗘姷鎵g殑閲戦
-        BigDecimal maxDeductionCash =  goodsCalculateList.stream().map(i->i.getSkuAmount().subtract(i.getCouponDeductCash())
+        BigDecimal maxDeductionCash =  goodsCalculateList.stream().map(i->i.getSkuAmount().subtract(Objects.isNull(i.getCouponDeductCash())?BigDecimal.ZERO:i.getCouponDeductCash())
                 .multiply(i.getDeductRata()).multiply(new BigDecimal("0.01"))).reduce(BigDecimal.ZERO,BigDecimal::add);
-        //绉垎 - 鐜伴噾 姣斾緥
+        //绉垎-鐜伴噾鍏戞崲姣斾緥锛圶XX绉垎鎶垫墸1鍏冿級
         BigDecimal cashToIntegralRata = new BigDecimal(systemDictDataBiz.queryByCode(Constants.SHOP_CONFIG,Constants.INTEGRAL_EXCHANGE_CASH_RATA).getCode());
         //褰撳墠閫夋嫨鍟嗗搧鎶垫墸闇�瑕佷娇鐢ㄧ殑绉垎
-        BigDecimal maxDeductionIntegral =  maxDeductionCash.multiply(cashToIntegralRata).multiply(new BigDecimal("100"));
+        BigDecimal maxDeductionIntegral =  maxDeductionCash.multiply(cashToIntegralRata);
         //鑾峰彇褰撳墠闇�瑕佹敮浠樼殑鐜伴噾鎬婚
-        BigDecimal payCash =  goodsCalculateList.stream().map(i->i.getSkuAmount().subtract(i.getCouponDeductCash())).reduce(BigDecimal.ZERO,BigDecimal::add);
+        BigDecimal payCash =  goodsCalculateList.stream().map(i->i.getSkuAmount().subtract(Objects.isNull(i.getCouponDeductCash())?BigDecimal.ZERO:i.getCouponDeductCash())).reduce(BigDecimal.ZERO,BigDecimal::add);
 
         //濡傛灉瀹為檯绉垎灏戜簬鏈�澶ч渶瑕佺Н鍒� 闇�瑕佽绠楁瘮渚嬪崰姣� 鍘诲搴旀坊鍔犺嚦瀵瑰簲鐨勫晢鍝侀噷
         //寰幆涓嬪崟鍟嗗搧鍒楄〃 璁$畻搴旇浣跨敤鐨勭Н鍒嗗��
@@ -1536,7 +1562,7 @@
         //鍓╀綑绉垎鍊�
         orderPayConfirmResponse.setSurplusIntegral(totalIntegral);
         //瀹為檯鎶垫墸浣跨敤绉垎
-        orderPayConfirmResponse.setDeductIntegral(totalIntegral.compareTo(maxDeductionCash)<=Constants.ZERO?totalIntegral:maxDeductionIntegral);
+        orderPayConfirmResponse.setDeductIntegral(totalIntegral.compareTo(maxDeductionIntegral)<=Constants.ZERO?totalIntegral:maxDeductionIntegral);
         return realDeductionCash;
 
     }
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 5cf3eb0..b941c7c 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
@@ -7,15 +7,11 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.IntegralMapper;
-import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.ShopMapper;
+import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.IntegralJoinMapper;
-import com.doumee.dao.business.model.Fund;
-import com.doumee.dao.business.model.Integral;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Shop;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.model.SystemDictData;
 import com.doumee.dao.web.dto.IntegralDTO;
 import com.doumee.dao.web.dto.IntegralRecordDTO;
@@ -67,6 +63,12 @@
 
     @Autowired
     private ShopMapper shopMapper;
+
+    @Autowired
+    private WithdrawRecordMapper withdrawRecordMapper;
+
+    @Autowired
+    private GoodsorderMapper goodsorderMapper;
 
     @Autowired
     private NoticeService noticeService;
@@ -445,6 +447,10 @@
                 .lambda()
                 .eq(Objects.nonNull(model.getUserType()),Integral::getUserType,model.getUserType())
                 .eq(Objects.nonNull(model.getType()),Integral::getType,model.getType())
+                .eq(Objects.nonNull(model.getObjType()),Integral::getObjType,model.getObjType())
+                .ge(Objects.nonNull(model.getStartDate()),Integral::getCreateDate,  model.getStartDate()+" 00:00:00")
+                .le(Objects.nonNull(model.getEndDate()),Integral::getCreateDate,  model.getEndDate()+" 23:59:59")
+                .eq(Objects.nonNull(model.getObjType()),Integral::getObjType,model.getObjType())
                 .eq(Integral::getMemberId,model.getMemberId())
                 .orderByDesc(Integral::getCreateDate)
         );
@@ -452,9 +458,46 @@
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(result.getRecords())){
             for (Integral integral:result.getRecords()) {
                 integral.setStrObjType(Constants.IntegralObjType.getName(integral.getObjType()));
+                //浣欓鎻愮幇 鍏宠仈 鎻愮幇璁板綍
+                if(Constants.equalsInteger(integral.getObjType(),Constants.IntegralObjType.WITHDRAW_APPLY.getKey())){
+                    WithdrawRecord withdrawRecord = withdrawRecordMapper.selectById(integral.getObjId());
+                    if(Objects.nonNull(withdrawRecord)){
+                        integral.setWithdrawStatus(withdrawRecord.getStatus());
+                    }
+                }
             }
         }
-        return PageData.from(result);
+        PageData<Integral> rr =  PageData.from(result);
+        if(pageWrap.getPage() == 1  && Constants.equalsInteger(model.getUserType(),Constants.TWO)){
+            //濡傛灉鏌ヨ绗竴椤碉紝鍋氭暟鎹粺璁�
+            rr.setCountData(dealCountIntegralNum(pageWrap));
+        }
+
+        return rr;
+    }
+
+    private Integral dealCountIntegralNum(PageWrap<IntegralRecordDTO> pageWrap) {
+        IntegralRecordDTO model = pageWrap.getModel();
+        List<Integral> result = integralMapper.selectList(new QueryWrapper<Integral>()
+                .lambda()
+                .eq(Objects.nonNull(model.getUserType()),Integral::getUserType,model.getUserType())
+                .eq(Objects.nonNull(model.getType()),Integral::getType,model.getType())
+                .eq(Objects.nonNull(model.getObjType()),Integral::getObjType,model.getObjType())
+                .ge(Objects.nonNull(model.getStartDate()),Integral::getCreateDate,  model.getStartDate()+" 00:00:00")
+                .le(Objects.nonNull(model.getEndDate()),Integral::getCreateDate,  model.getEndDate()+" 23:59:59")
+                .eq(Objects.nonNull(model.getObjType()),Integral::getObjType,model.getObjType())
+                .eq(Integral::getMemberId,model.getMemberId())
+                .orderByDesc(Integral::getCreateDate)
+        );
+        Integral integral = new Integral();
+        integral.setInAmount(BigDecimal.ZERO);
+        integral.setOutAmount(BigDecimal.ZERO);
+        if(CollectionUtils.isEmpty( result)){
+            return integral;
+        }
+        integral.setInAmount(result.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        integral.setOutAmount(result.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        return integral;
     }
 
     @Override
@@ -569,22 +612,47 @@
         IntegralDataResponse integralDataResponse = new IntegralDataResponse();
         integralDataResponse.setSurplusIntegral(BigDecimal.ZERO);
         integralDataResponse.setExpiredIntegral(BigDecimal.ZERO);
+        Shop shop = shopMapper.selectById(model.getMemberId());
+        if (Objects.nonNull(shop)) {
+            integralDataResponse.setSurplusIntegral(
+                    Constants.equalsInteger(model.getUserType(),Constants.TWO)?shop.getAmount():shop.getIntegral());
+        }
         List<Integral> list = integralMapper.selectList(new QueryWrapper<Integral>().lambda()
                 .eq(Objects.nonNull(model.getUserType()),Integral::getUserType,model.getUserType())
-//                .eq(Objects.nonNull(model.getType()),Integral::getType,model.getType())
                 .eq(Integral::getMemberId,model.getMemberId())
                 .orderByDesc(Integral::getCreateDate));
 
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
-            integralDataResponse.setSurplusIntegral(
-                    list.stream().map(i->i.getNum().multiply(new BigDecimal(i.getType().toString()))
-                    ).reduce(BigDecimal.ZERO, BigDecimal::add)
-            );
-
+            //鎻愮幇涓氬姟鏁版嵁
+            if(Constants.equalsInteger(model.getUserType(),Constants.TWO)){
+                integralDataResponse.setWithdrawAmount(
+                        withdrawRecordMapper.selectList(new QueryWrapper<WithdrawRecord>().lambda()
+                                .eq(WithdrawRecord::getMemberId,model.getMemberId())
+                                .eq(WithdrawRecord::getStatus,Constants.ONE)
+                        ).stream().map(WithdrawRecord::getAmount)
+                        .reduce(BigDecimal.ZERO, BigDecimal::add)
+                );
+                integralDataResponse.setWithdrawIngAmount(
+                        withdrawRecordMapper.selectList(new QueryWrapper<WithdrawRecord>().lambda()
+                                        .eq(WithdrawRecord::getMemberId,model.getMemberId())
+                                        .eq(WithdrawRecord::getStatus,Constants.ZERO)
+                                ).stream().map(WithdrawRecord::getAmount)
+                                .reduce(BigDecimal.ZERO, BigDecimal::add)
+                );
+                integralDataResponse.setWaitPayAmount(
+                        goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
+                                .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)
+                        .reduce(BigDecimal.ZERO, BigDecimal::add)
+                );
+            }
             //绉垎澶辨晥鏂瑰紡 0闀挎湡鏈夋晥 1鎸夌Н鍒嗕骇鐢熸椂闂村け鏁�
             Integer type  = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.INTEGRAL_SET, Constants.INTERALSET_INTEGRALINVALIDTYPE).getCode());
             //娑堣垂鑰呯Н鍒� 闇�瑕佹煡璇㈠嵆灏嗚繃鏈熺Н鍒�
-            if(Constants.equalsInteger(type,Constants.ONE)){
+            if(Constants.equalsInteger(type,Constants.ONE)&& Constants.equalsInteger(model.getUserType(),Constants.ONE)){
                 Integer validYear  = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.INTEGRAL_SET, Constants.INTERALSET_INTEGRALINVALIDCIRCLE).getCode());
                 if(validYear.compareTo(Constants.ZERO)>Constants.ZERO){
                      list = integralMapper.selectList(new QueryWrapper<Integral>().lambda()
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/InviteRecordServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/InviteRecordServiceImpl.java
index fe76610..ea46af2 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/InviteRecordServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/InviteRecordServiceImpl.java
@@ -64,8 +64,6 @@
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
 
-    @Autowired
-    private ShopMapper shopMapper;
 
     @Override
     public InviteInfoResponse getInviteInfo(Integer memberId){
@@ -81,7 +79,7 @@
                         .selectAs(Member::getImgurl,InviteRecord::getImgUrl)
                         .leftJoin(Member.class,Member::getId,InviteRecord::getMemberId)
                         .eq(InviteRecord::getIsdeleted,Constants.ZERO)
-                        .eq(InviteRecord::getMemberId,memberId)
+                        .eq(InviteRecord::getInviteId,memberId)
                         .orderByDesc(InviteRecord::getId)
         );
 
@@ -112,32 +110,30 @@
      * @throws Exception
      */
     @Override
-    public String createShareImg(Integer userType,Integer memberId) throws Exception {
+    public String createShareImg(Integer userType,Integer memberId,String posterImg) throws Exception {
         String imgUrl = systemDictDataBiz.queryByCode(Constants.ORDER_SET,Constants.INVITE_IMG_URL).getCode();
-        String suffix = "m_" + memberId;
+        String suffix = "uid_"+ memberId;
         if(Constants.equalsInteger(Constants.ONE,userType)){
-            Shop shop = shopMapper.selectById(memberId);
-            if(Objects.nonNull(shop)
-                    && StringUtils.isNotBlank(shop.getPosterImg())){
+            if(StringUtils.isNotBlank(posterImg)){
                 String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
                         + systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHOP_FILE).getCode();
-                imgUrl = path + shop.getPosterImg();
+                imgUrl = path + posterImg;
+                suffix = "sid_"+ memberId;
             }
-            suffix = "s_"+memberId;
         }
         BufferedImage img1  = GeneratePicUtil.transfromToImage(imgUrl,imgUrl.substring(imgUrl.lastIndexOf(".") + 1));
         if (img1 == null) {
             return imgUrl;
         }
-        String url = null;
-        String scene = "trial";
+        String url = "/pages/index/index";
+        String scene = suffix;
         //鍐呭鍒嗕韩娴锋姤鍥剧墖
         InputStream mpCode = Constants.generateWxMiniImgStream(
                 scene,
-                "",
+                url,
                 false);//灏忕▼搴�
-        InputStream inputStream = GeneratePicUtil.generateShareWithUserImg(
-                img1
+        InputStream inputStream = GeneratePicUtil.generateShopImg(
+                imgUrl
                 , mpCode);
         ALiYunUtil obs = new ALiYunUtil(
         systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode()
@@ -147,8 +143,9 @@
         String fileName = shareFolder + key;
         if (obs.uploadOnlineObject(inputStream,systemDictDataBiz.queryByCode(Constants.OSS, Constants.BUCKETNAME).getCode(), fileName,null)) {
             url = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() + fileName;
+            return key;
         }
-        return url;
+        return null;
     }
 
 
@@ -156,8 +153,8 @@
     public String createShopMiniProgramCode(Integer shopId) throws Exception {
         //鍐呭鍒嗕韩娴锋姤鍥剧墖
         InputStream inputStream = Constants.generateWxMiniImgStream(
-                "trial",
-                "/page/index/?shopId="+shopId,
+                "sid_"+shopId,
+                "/pages/index/index",
                 true);//灏忕▼搴�
         String url = null;
         ALiYunUtil obs = new ALiYunUtil(
@@ -170,8 +167,9 @@
         String fileName = shareFolder + key;
         if (obs.uploadOnlineObject(inputStream,systemDictDataBiz.queryByCode(Constants.OSS, Constants.BUCKETNAME).getCode(), fileName,null)) {
             url = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() + fileName;
+            return key;
         }
-        return url;
+        return null;
     }
 
 
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberBankServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberBankServiceImpl.java
index 0294cd1..bede133 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberBankServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberBankServiceImpl.java
@@ -43,7 +43,7 @@
 
     @Override
     public void deleteById(Integer id) {
-        memberBankMapper.deleteById(id);
+        memberBankMapper.update(new UpdateWrapper<MemberBank>().lambda().set(MemberBank::getIsdeleted,Constants.ONE).eq(MemberBank::getId,id));
     }
 
     @Override
@@ -156,9 +156,9 @@
         if(Objects.isNull(request)
                 ||Objects.isNull(request.getIsDefault())
                 ||Objects.isNull(request.getMemberId())
-                || StringUtils.isNotBlank(request.getBankName())
-                || StringUtils.isNotBlank(request.getBankAccount())
-                || StringUtils.isNotBlank(request.getName())
+                || StringUtils.isBlank(request.getBankName())
+                || StringUtils.isBlank(request.getBankAccount())
+                || StringUtils.isBlank(request.getName())
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
@@ -176,6 +176,7 @@
             BeanUtils.copyProperties(request,memberBank);
             memberBank.setCreateDate(new Date());
             memberBank.setEditDate(new Date());
+            memberBank.setIsdeleted(Constants.ZERO);
             memberBankMapper.insert(memberBank);
         } else {
             MemberBank memberBank = memberBankMapper.selectById(request.getId());
@@ -197,9 +198,11 @@
                 .eq(MemberBank::getMemberId,shopId)
                 .orderByDesc(MemberBank::getIsDefault,MemberBank::getId)
         );
+        for (MemberBank memberBank:memberBanks) {
+            memberBank.setBankInfo(Constants.getBankInfo(memberBank.getBankName(),memberBank.getBankAccount()));
+        }
         return memberBanks;
     }
-
 
 
 
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 2d94d81..29dd3f7 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
@@ -380,7 +380,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 ")
+//                .apply("   now() between m.START_DATE and m.END_DATE ")
                 .orderByDesc(" m.PRICE ")
         );
         return page;
@@ -544,6 +544,7 @@
         //鏌ヨ鍟嗗搧鍒楄〃
         List<Goods> goodsList = goodsMapper.selectJoinList(Goods.class,
                 new MPJLambdaWrapper<Goods>()
+                        .selectAll(Goods.class)
                         .selectAs(GoodsSku::getPrice,Goods::getSkuPrice)
                         .selectAs(GoodsSku::getId,Goods::getSkuId)
                         .leftJoin(GoodsSku.class,GoodsSku::getGoodsId,Goods::getId)
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 fce1c9a..a2fe488 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
@@ -312,7 +312,7 @@
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鑾峰彇openid澶辫触锛佽鑱旂郴绠$悊鍛�");
             }
             Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getOpenId, openId)
-                            .eq(Member::getIsdeleted,Constants.ZERO)
+                            .eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getStatus,Constants.ZERO)
                     .last(" limit 1"));
             AccountResponse accountResponse = new AccountResponse();
             if(Objects.nonNull(member)){
@@ -356,44 +356,43 @@
             if(Objects.isNull(phone)){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈幏鍙栧埌鎵嬫満鍙�");
             }
-            Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getOpenId, wxPhoneRequest.getOpenid())
-                    .eq(Member::getIsdeleted,Constants.ZERO)
+            Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getPhone, phone)
+                    .eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getStatus,Constants.ZERO)
                     .last(" limit 1"));
             if (member == null) {
                 member = new Member();
-                member.setImgurl("20230410/4010b821-2137-4e6d-86e4-5ab9c06184a4.png");
                 member.setNickname("寰俊鐢ㄦ埛"+ CodeVerifyUtils.createVerificationCode(4));
                 member.setCreateDate(new Date());
                 member.setIsdeleted(Constants.ZERO);
                 member.setType(Constants.ZERO);
                 member.setOrigin(Constants.ZERO);
                 if(!this.checkIsCreateInvite(phone)){
-                    member.setRecId(Constants.getInviteCode(wxPhoneRequest.getRecId()));
+                    member.setRecId(wxPhoneRequest.getRecId());
                 }
-                member.setOpenId(wxPhoneRequest.getOpenid());
                 member.setIntegral(BigDecimal.ZERO);
+                member.setPhone(phone);
             }
-            member.setPhone(phone);
+            member.setOpenId(wxPhoneRequest.getOpenid());
             member.setEditDate(new Date());
             member.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
                     systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl());
             if(Objects.isNull(member.getId())){
                 memberMapper.insert(member);
-
                 PlatformConfigDTO platformConfigDTO = systemDictDataService.getPlatformConfigDTO();
                 this.createRegionReward(member,platformConfigDTO);
                 //鍒涘缓閭�璇疯褰�
                 this.createInviteRecord(member,platformConfigDTO);
-                member.setSharingCode(this.createShareCode(member.getId()));
+//                member.setSharingCode(this.createShareCode(member.getId()));
                 memberMapper.updateById(member);
             }else{
-                if(StringUtils.isBlank(member.getSharingCode())){
-                    member.setSharingCode(this.createShareCode(member.getId()));
-                }
+//                if(StringUtils.isBlank(member.getSharingCode())){
+//                    member.setSharingCode(this.createShareCode(member.getId()));
+//                }
                 memberMapper.updateById(member);
             }
-//            JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
-//            String token = JwtTokenUtil.generateToken(payLoad);
+            if(Objects.nonNull(wxPhoneRequest.getShopId())){
+                this.bindShopInfo(member.getId(),wxPhoneRequest.getShopId());
+            }
             String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
             AccountResponse accountResponse = new AccountResponse();
             accountResponse.setToken(token);
@@ -793,8 +792,8 @@
         Member  member = memberMapper.selectById(memberId);
         if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenId())){
             memberMapper.update(new UpdateWrapper<Member>().lambda()
-                    .set(Member::getOpenId,null)
-                    .set(Member::getPhone,null)
+//                    .set(Member::getOpenId,null)
+                    .set(Member::getStatus,Constants.TWO)
                     .eq(Member::getId,member.getId())
             );
         }
@@ -802,6 +801,26 @@
     }
 
 
+    @Override
+    public void bindShopInfo(Integer memberId,Integer recId){
+        Member  member = memberMapper.selectById(memberId);
+        if(Objects.isNull(member)){
+            return;
+        }
+        if (Objects.nonNull(member.getBindShopId())) {
+            return;
+        }
+        Shop shop = shopMapper.selectById(recId);
+        if(Objects.nonNull(shop)){
+            memberMapper.update(new UpdateWrapper<Member>().lambda()
+                    .set(Member::getBindShopId,recId)
+                    .set(Member::getBindShopDate,new Date())
+                    .eq(Member::getId,member.getId())
+            );
+        }
+    }
+
+
 
 
 }
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 c31ca94..e09e475 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
@@ -154,10 +154,18 @@
         shop.setPassword(Utils.Secure.encryptPassword(shop.getPassword(), salt));
         shop.setSalt(salt);
         shopMapper.insert(shop);
+        //鍒嗕韩鐮�
         String url = inviteRecordService.createShopMiniProgramCode(shop.getId());
         if(StringUtils.isNotBlank(url)){
             shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
                             .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()));
         }
         return shop.getId();
@@ -238,7 +246,7 @@
 
     @Override
     @Transactional
-    public void updateById(Shop shop) {
+    public void updateById(Shop shop) throws Exception {
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(shop.getId()==null ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
@@ -251,6 +259,20 @@
         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);
+            }
+        }
+        if(StringUtils.isNotBlank(shop.getPosterImg())){
+            //鍒嗕韩娴锋姤
+            String posterUrl = inviteRecordService.createShareImg(Constants.ONE,shop.getId(),shop.getPosterImg());
+            if(StringUtils.isNotBlank(posterUrl)){
+                shop.setPosterImgCode(posterUrl);
+            }
+        }
         shopMapper.updateById(shop);
         if(shop.getSaleType() !=null && !Constants.equalsInteger(shop.getSaleType(),model.getSaleType())){
             //濡傛灉閿�鍞ā寮忓彂鐢熺紪鐮侊紝璁板綍鍙樻洿璁板綍
@@ -277,15 +299,15 @@
     }
 
 
-    @Override
-    public void updateByIdInBatch(List<Shop> shops) {
-        if (CollectionUtils.isEmpty(shops)) {
-            return;
-        }
-        for (Shop shop: shops) {
-            this.updateById(shop);
-        }
-    }
+//    @Override
+//    public void updateByIdInBatch(List<Shop> shops) {
+//        if (CollectionUtils.isEmpty(shops)) {
+//            return;
+//        }
+//        for (Shop shop: shops) {
+//            this.updateById(shop);
+//        }
+//    }
 
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     @Override
@@ -679,20 +701,20 @@
         && StringUtils.isNotBlank(dto.getLgt())){
             isArea = true;
         }
-
-        List<Shop> shopList = shopJoinMapper.selectList(new MPJLambdaWrapper<Shop>()
+        List<Shop> shopList = shopJoinMapper.selectJoinList(Shop.class,new MPJLambdaWrapper<Shop>()
                 .selectAll(Shop.class)
-                .select(" CONVERT( ST_Distance_Sphere ( POINT ( LONGITUDE, LATITUDE ), POINT ( "+dto.getLgt()+", "+dto.getLat()+" )) /1000,DECIMAL(15,2))",Shop::getDistance)
-                .leftJoin(Areas.class,Areas::getId,Shop::getAreaId)
-                .eq(Objects.nonNull(dto.getCityId()),Areas::getParentId,dto.getCityId())
-                .like(Objects.nonNull(dto.getShopName()),Shop::getName,dto.getShopName())
+                .select(" CONVERT( ST_Distance_Sphere ( POINT ( LONGITUDE, LATITUDE ), POINT ( '"+dto.getLgt()+"' , '"+dto.getLat()+"' )) /1000,DECIMAL(15,2))",Shop::getDistance)
+                .leftJoin(SystemUser.class,SystemUser::getId,Shop::getCreator)
+                .like(StringUtils.isNotBlank(dto.getCityName()),Shop::getAddr,dto.getCityName())
+                .like(StringUtils.isNotBlank(dto.getShopName()),Shop::getName,dto.getShopName())
                 .orderByDesc(!isArea,Shop::getId)
-                .orderByAsc(isArea,Shop::getDistance)
+                .orderByAsc(isArea," distance ")
         );
         String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
                 + systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHOP_FILE).getCode();
         for(Shop model:shopList){
-            model.setImgFullUrl(path+model.getImgurl());
+
+            model.setImgFullUrl(StringUtils.isNotBlank(model.getImgurl())?path+model.getImgurl():null);
 
         }
         return shopList;
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java
index 3e0af81..74f27d5 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java
@@ -186,6 +186,7 @@
         if (Objects.isNull(withdrawRecord) ) {
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
+        withdrawRecord.setBankInfo(Constants.getBankInfo(withdrawRecord.getBankName(),withdrawRecord.getBankAccount()));
         if(!Constants.equalsInteger(withdrawRecord.getStatus(), Constants.ZERO)){
             String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() +
                     systemDictDataBiz.queryByCode(Constants.OSS, Constants.TRANSFER_FILE).getCode();
@@ -315,7 +316,7 @@
 
 
     @Override
-    public void withdrawApply(WithdrawApplyRequest request, IntegralService integralService){
+    public Integer withdrawApply(WithdrawApplyRequest request, IntegralService integralService){
         if (Objects.isNull( request)
             || request.getMemberId() == null
             || request.getBankId() == null
@@ -357,6 +358,7 @@
         dealIntegralRequest.setMemberId(request.getMemberId());
         dealIntegralRequest.setDealType(Constants.ONE);
         integralService.dealShopAmount(dealIntegralRequest);
+        return withdrawRecord.getId();
     }
 
 
diff --git a/server/dmmall_service/src/main/resources/application-dev.yml b/server/dmmall_service/src/main/resources/application-dev.yml
index 56b6c1b..b199bf0 100644
--- a/server/dmmall_service/src/main/resources/application-dev.yml
+++ b/server/dmmall_service/src/main/resources/application-dev.yml
@@ -53,7 +53,7 @@
     appSecret: 3462fa186da7cb06c544df8d8664b63a
     mchId: 1229817002
     mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM
-    notifyUrl: https://dmtest.ahapp.net/dmmall_interface/web/api/wxPayNotify
+    notifyUrl: http://xiaopiqiu2.natapp1.cc/web/api/wxPayNotify #https://dmtest.ahapp.net/dmmall_interface/web/api/wxPayNotify
     keyPath: /usr/local/apiclient_cert.p12
 
 tencent:
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
index 4e8554f..28b6fc6 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
@@ -17,6 +17,7 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
 import lombok.extern.java.Log;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -153,4 +154,18 @@
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
+
+    @LoginRequired
+    @ApiOperation(value = "鍟嗘埛缁戝畾", notes = "灏忕▼搴忕")
+    @GetMapping("/bindShopInfo")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "recId", value = "鍟嗘埛涓婚敭", required = true)
+    })
+    public ApiResponse bindShopInfo(@RequestParam Integer recId) {
+        memberService.bindShopInfo(getMemberId(),recId);
+        return  ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+
 }
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/CollectApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/CollectApi.java
index 5cbd493..d06d2ac 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/CollectApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/CollectApi.java
@@ -1,10 +1,17 @@
 package com.doumee.api.web;
 
 import com.doumee.config.annotation.LoginRequired;
+import com.doumee.config.annotation.LoginShopRequired;
 import com.doumee.core.annotation.pr.PreventRepeat;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.Collect;
+import com.doumee.dao.business.model.Goodsorder;
 import com.doumee.dao.web.request.CollectSaveRequest;
+import com.doumee.dao.web.request.ShopOrderRequest;
+import com.doumee.dao.web.response.CollectResponse;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -56,15 +63,24 @@
 
     @LoginRequired
     @ApiOperation("鎴戠殑鏀惰棌")
-    @GetMapping("/myCollectList")
+    @PostMapping("/myCollectPage")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
-    public ApiResponse myCollectList(@RequestParam Integer type) {
-        return ApiResponse.success(collectService.myCollect(getMemberId(),type));
+    public ApiResponse<PageData<Collect>> myCollectPage(@RequestBody PageWrap<Collect> pageWrap) {
+        PageData<Collect> page = collectService.myCollectPage(pageWrap,getMemberId());
+        return ApiResponse.success("鏌ヨ鎴愬姛",page);
     }
 
 
-
+    @LoginRequired
+    @ApiOperation("鎴戠殑鏀惰棌鏁伴噺")
+    @GetMapping("/getCollectNum")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<CollectResponse> getCollectNum() {
+        return ApiResponse.success("鏌ヨ鎴愬姛",collectService.getCollectNum(getMemberId()));
+    }
 
 }
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/MemberBankApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/MemberBankApi.java
index 8e590d2..b366f9c 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/MemberBankApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/MemberBankApi.java
@@ -45,6 +45,18 @@
     }
 
     @LoginShopRequired
+    @ApiOperation(value = "閾惰鍗″垹闄�", notes = "灏忕▼搴忕")
+    @GetMapping("/deleteById")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse deleteById(@RequestParam Integer id){
+        memberBankService.deleteById(id);
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+
+    @LoginShopRequired
     @ApiOperation(value = "鑾峰彇鎴戠殑鎻愮幇閾惰鍗�", notes = "灏忕▼搴忕")
     @GetMapping("/getBankList")
     @ApiImplicitParams({
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/SharesApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/SharesApi.java
index 02888f1..b9cb8da 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/SharesApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/SharesApi.java
@@ -56,7 +56,7 @@
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
     })
     public ApiResponse<String> getMemberShareImg()  throws Exception{
-        return  ApiResponse.success(inviteRecordService.createShareImg(Constants.ZERO,getMemberId()));
+        return  ApiResponse.success(inviteRecordService.createShareImg(Constants.ZERO,getMemberId(),null));
     }
 
 
@@ -67,6 +67,6 @@
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
     })
     public ApiResponse<String> getShareImg()  throws Exception{
-        return  ApiResponse.success(inviteRecordService.createShareImg(Constants.ONE,getShopId()));
+        return  ApiResponse.success(inviteRecordService.createShareImg(Constants.ONE,getShopId(),"20251210/6dd8880d-30d1-49d3-8192-99a4127cf785.png"));
     }
 }
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/ShopApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/ShopApi.java
index bb24587..b468909 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/ShopApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/ShopApi.java
@@ -100,7 +100,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
-    public ApiResponse getShopList(@RequestBody ShopListDTO dto){
+    public ApiResponse<List<Shop>> getShopList(@RequestBody ShopListDTO dto){
         return ApiResponse.success(shopService.getShopList(dto));
     }
 
@@ -112,12 +112,10 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
-    public ApiResponse withdrawApply(@RequestBody WithdrawApplyRequest request){
+    public ApiResponse<Integer> withdrawApply(@RequestBody WithdrawApplyRequest request){
         request.setMemberId(getShopId());
-        withdrawRecordService.withdrawApply(request,integralService);
-        return ApiResponse.success("鎿嶄綔鎴愬姛");
+        return ApiResponse.success("鎿嶄綔鎴愬姛",withdrawRecordService.withdrawApply(request,integralService));
     }
-
 
 
     @LoginShopRequired
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/UtilApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/UtilApi.java
index a90cf57..174999e 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/UtilApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/UtilApi.java
@@ -13,11 +13,14 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * Created by IntelliJ IDEA.
@@ -53,7 +56,14 @@
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
     public ApiResponse<List<Areas>> getCityInfoList(@RequestBody Areas areas) {
-        return  ApiResponse.success("鏌ヨ鎴愬姛",areasService.getCityList(areas));
+        List<Areas> list = areasService.getCityList(areas);
+
+        if(Objects.nonNull(areas)&&StringUtils.isNotBlank(areas.getName())){
+            list =
+                    list.stream().filter(item -> item.getName().contains(areas.getName())).collect(Collectors.toList());
+        }
+
+        return  ApiResponse.success("鏌ヨ鎴愬姛",list);
     }
 
     @ApiOperation("鍏ㄩ儴鍖哄垝鏍戝舰鏌ヨ")
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/GoodsApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/GoodsApi.java
index a98e452..5160009 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/GoodsApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/GoodsApi.java
@@ -35,9 +35,6 @@
 
     @ApiOperation("鍟嗗搧鍒楄〃")
     @PostMapping("/goodsPage")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
-    })
     public ApiResponse<IPage<GoodsInfoResponse>> goodsPage(@RequestBody PageWrap<GoodsRequest> pageWrap) {
         IPage<GoodsInfoResponse> page = goodsService.getGoodsPage(pageWrap);
         return ApiResponse.success("鏌ヨ鎴愬姛",page);
@@ -72,7 +69,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
-    public ApiResponse<List<SearchHistory>> searchHistoryList(@RequestParam Integer type) {
+    public ApiResponse<List<SearchHistory>> searchHistoryList() {
         return ApiResponse.success(searchHistoryService.findListByType(Constants.ZERO,getMemberId()));
     }
 
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java
index 81c55c8..eceb395 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java
@@ -21,11 +21,13 @@
 import com.doumee.dao.web.request.goods.DealOrderRequest;
 import com.doumee.dao.web.request.goods.MemberOrderRequest;
 import com.doumee.dao.web.request.goods.OrderCommentRequest;
+import com.doumee.dao.web.request.goods.OrderPayConfirmRequest;
 import com.doumee.dao.web.response.MemberCouponResponse;
 import com.doumee.dao.web.response.MyPageResponse;
 import com.doumee.dao.web.response.OrderCommentResponse;
 import com.doumee.dao.web.response.OrderDetailResponse;
 import com.doumee.dao.web.response.goods.MemberOrderResponse;
+import com.doumee.dao.web.response.goods.OrderPayConfirmResponse;
 import com.doumee.dao.web.response.goods.PayResponse;
 import com.doumee.service.business.HotCityService;
 import com.doumee.service.business.impl.MemberCouponServiceImpl;
@@ -163,7 +165,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
     })
-    public ApiResponse<PayResponse> orderPay(@RequestParam Integer orderId) {
+    public ApiResponse<PayResponse> replayPay(@RequestParam Integer orderId) {
         return ApiResponse.success("鎿嶄綔鎴愬姛", goodsorderService.replayPay(orderId));
     }
 
@@ -288,6 +290,20 @@
     }
 
     @LoginRequired
+    @ApiOperation("璁㈠崟寰呮敮浠樹俊鎭�")
+    @PostMapping("/orderPayConfirm")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<OrderPayConfirmResponse> orderPayConfirm(@RequestBody OrderPayConfirmRequest request) {
+        request.setMemberId(getMemberId());
+        return ApiResponse.success("鎿嶄綔鎴愬姛",goodsorderService.orderPayConfirm(request,memberCouponServiceImpl));
+    }
+
+
+
+
+    @LoginRequired
     @ApiOperation("璁㈠崟缁熻")
     @GetMapping("/ordersStatistics")
     @ApiImplicitParams({
@@ -297,6 +313,11 @@
         return ApiResponse.success("鎿嶄綔鎴愬姛",goodsorderService.ordersStatistics(getMemberId()));
     }
 
+
+
+
+
+
     @LoginRequired
     @ApiOperation("鐗╂祦鏌ヨ")
     @GetMapping("/queryExpress")

--
Gitblit v1.9.3