From 12d724c247e4f7dcb77b3a94891ccf4d86b53cfa Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 15 十二月 2025 09:43:07 +0800
Subject: [PATCH] 经销商供货价信息

---
 server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java                           |   33 ++++
 server/dmmall_service/src/main/java/com/doumee/dao/business/ShopGoodsRelationMapper.java               |   12 +
 server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java                               |    2 
 server/dmmall_admin/src/main/java/com/doumee/api/business/ShopGoodsRelationController.java             |   90 +++++++++++
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopGoodsRelationServiceImpl.java |  139 +++++++++++++++++
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/ShopGoodsRelation.java               |   67 ++++++++
 server/dmmall_service/db/business.shop_goods_relation.permissions.sql                                  |    6 
 server/dmmall_service/src/main/java/com/doumee/service/business/ShopGoodsRelationService.java          |   97 ++++++++++++
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java        |   13 +
 9 files changed, 457 insertions(+), 2 deletions(-)

diff --git a/server/dmmall_admin/src/main/java/com/doumee/api/business/ShopGoodsRelationController.java b/server/dmmall_admin/src/main/java/com/doumee/api/business/ShopGoodsRelationController.java
new file mode 100644
index 0000000..bff53bb
--- /dev/null
+++ b/server/dmmall_admin/src/main/java/com/doumee/api/business/ShopGoodsRelationController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.ShopGoodsRelation;
+import com.doumee.service.business.ShopGoodsRelationService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/12/15 09:39
+ */
+@Api(tags = "缁忛攢鍟嗕緵璐т环淇℃伅")
+@RestController
+@RequestMapping("/business/shopGoodsRelation")
+public class ShopGoodsRelationController extends BaseController {
+
+    @Autowired
+    private ShopGoodsRelationService shopGoodsRelationService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:shopgoodsrelation:create")
+    public ApiResponse create(@RequestBody ShopGoodsRelation shopGoodsRelation) {
+        return ApiResponse.success(shopGoodsRelationService.create(shopGoodsRelation));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:shopgoodsrelation:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        shopGoodsRelationService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:shopgoodsrelation:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        shopGoodsRelationService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:shopgoodsrelation:update")
+    public ApiResponse updateById(@RequestBody ShopGoodsRelation shopGoodsRelation) {
+        shopGoodsRelationService.updateById(shopGoodsRelation);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:shopgoodsrelation:query")
+    public ApiResponse<PageData<ShopGoodsRelation>> findPage (@RequestBody PageWrap<ShopGoodsRelation> pageWrap) {
+        return ApiResponse.success(shopGoodsRelationService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:shopgoodsrelation:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<ShopGoodsRelation> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(ShopGoodsRelation.class).export(shopGoodsRelationService.findPage(pageWrap).getRecords(), "缁忛攢鍟嗕緵璐т环淇℃伅", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:shopgoodsrelation:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(shopGoodsRelationService.findById(id));
+    }
+}
diff --git a/server/dmmall_service/db/business.shop_goods_relation.permissions.sql b/server/dmmall_service/db/business.shop_goods_relation.permissions.sql
new file mode 100644
index 0000000..9c11edb
--- /dev/null
+++ b/server/dmmall_service/db/business.shop_goods_relation.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:shopgoodsrelation:create', '鏂板缓缁忛攢鍟嗕緵璐т环淇℃伅', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:shopgoodsrelation:delete', '鍒犻櫎缁忛攢鍟嗕緵璐т环淇℃伅', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:shopgoodsrelation:update', '淇敼缁忛攢鍟嗕緵璐т环淇℃伅', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:shopgoodsrelation:query', '鏌ヨ缁忛攢鍟嗕緵璐т环淇℃伅', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:shopgoodsrelation:exportExcel', '瀵煎嚭缁忛攢鍟嗕緵璐т环淇℃伅(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
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 dc88877..ccd5f1d 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
@@ -563,7 +563,7 @@
     public  enum OrderStatus{
         WAIT_PAY(0, "寰呮敮浠�", "寰呮敮浠�"),
         PAY_DONE(1, "寰呭彂璐�", "宸叉敮浠樺緟鍙戣揣"),
-        WAIT_RECEIVE(2, "寰呮敹璐�", "宸插彂璐у緟鏀惰揣"),
+        WAIT_RECEIVE(2, "寰呮敹璐�/寰呰嚜鎻�", "宸插彂璐у緟鏀惰揣/寰呰嚜鎻�"),
         DONE(3, "浜ゆ槗瀹屾垚", "浜ゆ槗瀹屾垚"),
         CLOSE(4, "宸插叧闂�", "宸插叧闂�"),
         PART_DONE(5, "閮ㄥ垎鍙戣揣", "閮ㄥ垎鍙戣揣"),
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/ShopGoodsRelationMapper.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/ShopGoodsRelationMapper.java
new file mode 100644
index 0000000..830222c
--- /dev/null
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/ShopGoodsRelationMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.ShopGoodsRelation;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/12/15 09:39
+ */
+public interface ShopGoodsRelationMapper extends BaseMapper<ShopGoodsRelation> {
+
+}
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/ShopGoodsRelation.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/ShopGoodsRelation.java
new file mode 100644
index 0000000..cf373ba
--- /dev/null
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/ShopGoodsRelation.java
@@ -0,0 +1,67 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 缁忛攢鍟嗕緵璐т环淇℃伅
+ * @author 姹熻箘韫�
+ * @date 2025/12/15 09:39
+ */
+@Data
+@ApiModel("缁忛攢鍟嗕緵璐т环淇℃伅")
+@TableName("`shop_goods_relation`")
+public class ShopGoodsRelation {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鍟嗘埛涓婚敭锛坰hop涓婚敭锛�", example = "1")
+    @ExcelColumn(name="鍟嗘埛涓婚敭锛坰hop涓婚敭锛�")
+    private Integer shopId;
+
+    @ApiModelProperty(value = "鍟嗗搧SKU ID锛坓oods_sku涓婚敭锛�", example = "1")
+    @ExcelColumn(name="鍟嗗搧SKU ID锛坓oods_sku涓婚敭锛�")
+    private Integer goodsSkuId;
+
+    @ApiModelProperty(value = "渚涜揣浠�", example = "1")
+    @ExcelColumn(name="渚涜揣浠�")
+    private BigDecimal price;
+
+}
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/ShopGoodsRelationService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/ShopGoodsRelationService.java
new file mode 100644
index 0000000..54166fb
--- /dev/null
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/ShopGoodsRelationService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.ShopGoodsRelation;
+import java.util.List;
+
+/**
+ * 缁忛攢鍟嗕緵璐т环淇℃伅Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/12/15 09:39
+ */
+public interface ShopGoodsRelationService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param shopGoodsRelation 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(ShopGoodsRelation shopGoodsRelation);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param shopGoodsRelation 瀹炰綋瀵硅薄
+     */
+    void delete(ShopGoodsRelation shopGoodsRelation);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param shopGoodsRelation 瀹炰綋瀵硅薄
+     */
+    void updateById(ShopGoodsRelation shopGoodsRelation);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param shopGoodsRelations 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<ShopGoodsRelation> shopGoodsRelations);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return ShopGoodsRelation
+     */
+    ShopGoodsRelation findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param shopGoodsRelation 瀹炰綋瀵硅薄
+     * @return ShopGoodsRelation
+     */
+    ShopGoodsRelation findOne(ShopGoodsRelation shopGoodsRelation);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param shopGoodsRelation 瀹炰綋瀵硅薄
+     * @return List<ShopGoodsRelation>
+     */
+    List<ShopGoodsRelation> findList(ShopGoodsRelation shopGoodsRelation);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<ShopGoodsRelation>
+     */
+    PageData<ShopGoodsRelation> findPage(PageWrap<ShopGoodsRelation> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param shopGoodsRelation 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(ShopGoodsRelation shopGoodsRelation);
+}
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 46ce98d..c026e4b 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
@@ -750,6 +750,17 @@
             if(Objects.isNull(shop)){
                 throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"璇烽�夋嫨姝g‘鐨勮嚜鎻愰棬搴楋紒");
             }
+            //鍒ゆ柇闂ㄥ簵鏄惁璁剧疆鍟嗗搧鐨勪环鏍间俊鎭�
+
+
+            //鏍规嵁閫夋嫨鍟嗘埛杩涜浼氬憳涓庡晢鎴蜂俊鎭粦瀹�
+            if(Objects.isNull(member.getBindShopId())){
+                memberMapper.update(new UpdateWrapper<Member>().lambda()
+                        .set(Member::getBindShopId,shop.getId())
+                        .eq(Member::getId,member.getId())
+                );
+            }
+
             goodsorder.setPickUpShopId(shop.getId());
             goodsorder.setDistributionShopId(shop.getId());
             if(Objects.isNull(member.getBindShopId())){
@@ -885,7 +896,7 @@
             Object response = null;
             WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest();
             request.setBody("骞冲彴鍟嗗煄");
-            request.setAttach("terraceMall");
+            request.setAttach("shopGoods");
             request.setOutTradeNo(goodsorder.getCode().toString());
             request.setTotalFee(BaseWxPayRequest.yuanToFen(goodsorder.getPrice().toString()));
           //  request.setTotalFee(2);
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopGoodsRelationServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopGoodsRelationServiceImpl.java
new file mode 100644
index 0000000..e32fbea
--- /dev/null
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopGoodsRelationServiceImpl.java
@@ -0,0 +1,139 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.ShopGoodsRelationMapper;
+import com.doumee.dao.business.model.ShopGoodsRelation;
+import com.doumee.service.business.ShopGoodsRelationService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 缁忛攢鍟嗕緵璐т环淇℃伅Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/12/15 09:39
+ */
+@Service
+public class ShopGoodsRelationServiceImpl implements ShopGoodsRelationService {
+
+    @Autowired
+    private ShopGoodsRelationMapper shopGoodsRelationMapper;
+
+    @Override
+    public Integer create(ShopGoodsRelation shopGoodsRelation) {
+        shopGoodsRelationMapper.insert(shopGoodsRelation);
+        return shopGoodsRelation.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        shopGoodsRelationMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(ShopGoodsRelation shopGoodsRelation) {
+        UpdateWrapper<ShopGoodsRelation> deleteWrapper = new UpdateWrapper<>(shopGoodsRelation);
+        shopGoodsRelationMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        shopGoodsRelationMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(ShopGoodsRelation shopGoodsRelation) {
+        shopGoodsRelationMapper.updateById(shopGoodsRelation);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<ShopGoodsRelation> shopGoodsRelations) {
+        if (CollectionUtils.isEmpty(shopGoodsRelations)) {
+            return;
+        }
+        for (ShopGoodsRelation shopGoodsRelation: shopGoodsRelations) {
+            this.updateById(shopGoodsRelation);
+        }
+    }
+
+    @Override
+    public ShopGoodsRelation findById(Integer id) {
+        return shopGoodsRelationMapper.selectById(id);
+    }
+
+    @Override
+    public ShopGoodsRelation findOne(ShopGoodsRelation shopGoodsRelation) {
+        QueryWrapper<ShopGoodsRelation> wrapper = new QueryWrapper<>(shopGoodsRelation);
+        return shopGoodsRelationMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<ShopGoodsRelation> findList(ShopGoodsRelation shopGoodsRelation) {
+        QueryWrapper<ShopGoodsRelation> wrapper = new QueryWrapper<>(shopGoodsRelation);
+        return shopGoodsRelationMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<ShopGoodsRelation> findPage(PageWrap<ShopGoodsRelation> pageWrap) {
+        IPage<ShopGoodsRelation> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<ShopGoodsRelation> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        if (pageWrap.getModel().getId() != null) {
+            queryWrapper.lambda().eq(ShopGoodsRelation::getId, pageWrap.getModel().getId());
+        }
+        if (pageWrap.getModel().getCreator() != null) {
+            queryWrapper.lambda().eq(ShopGoodsRelation::getCreator, pageWrap.getModel().getCreator());
+        }
+        if (pageWrap.getModel().getCreateDate() != null) {
+            queryWrapper.lambda().ge(ShopGoodsRelation::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.lambda().le(ShopGoodsRelation::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+        }
+        if (pageWrap.getModel().getEditor() != null) {
+            queryWrapper.lambda().eq(ShopGoodsRelation::getEditor, pageWrap.getModel().getEditor());
+        }
+        if (pageWrap.getModel().getEditDate() != null) {
+            queryWrapper.lambda().ge(ShopGoodsRelation::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.lambda().le(ShopGoodsRelation::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+        }
+        if (pageWrap.getModel().getIsdeleted() != null) {
+            queryWrapper.lambda().eq(ShopGoodsRelation::getIsdeleted, pageWrap.getModel().getIsdeleted());
+        }
+        if (pageWrap.getModel().getRemark() != null) {
+            queryWrapper.lambda().eq(ShopGoodsRelation::getRemark, pageWrap.getModel().getRemark());
+        }
+        if (pageWrap.getModel().getShopId() != null) {
+            queryWrapper.lambda().eq(ShopGoodsRelation::getShopId, pageWrap.getModel().getShopId());
+        }
+        if (pageWrap.getModel().getGoodsSkuId() != null) {
+            queryWrapper.lambda().eq(ShopGoodsRelation::getGoodsSkuId, pageWrap.getModel().getGoodsSkuId());
+        }
+        if (pageWrap.getModel().getPrice() != null) {
+            queryWrapper.lambda().eq(ShopGoodsRelation::getPrice, pageWrap.getModel().getPrice());
+        }
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(shopGoodsRelationMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(ShopGoodsRelation shopGoodsRelation) {
+        QueryWrapper<ShopGoodsRelation> wrapper = new QueryWrapper<>(shopGoodsRelation);
+        return shopGoodsRelationMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java
index 2f254cb..744e51f 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java
@@ -100,6 +100,39 @@
                         fundService.create(fund);
                         break;
                     }
+                    case "shopGoods": {
+                        Goodsorder DBGoodsOrder = new Goodsorder();
+                        DBGoodsOrder.setCode(Long.valueOf(outTradeNo));
+                        Goodsorder goodsOrder = goodsorderService.findOne(DBGoodsOrder);
+                        if(Objects.isNull(goodsOrder)){
+                            return WxPayNotifyResponse.fail( "鏀粯鍥炶皟淇℃伅("+ wxId + ") = > 鏈煡璇㈠埌鏀粯瀵硅薄淇℃伅!");
+                        }
+                        if(goodsOrder.getStatus().equals(Constants.ONE)){
+                            return WxPayNotifyResponse.success("澶勭悊鎴愬姛!");
+                        }
+                        goodsOrder.setPayStatus(Constants.ONE);
+                        goodsOrder.setPayDate(new Date());
+                        goodsOrder.setPayOrderId(paymentNo);
+                        goodsOrder.setStatus(Constants.equalsInteger(goodsOrder.getReceiveType(),Constants.ZERO)?Constants.OrderStatus.PAY_DONE.getKey():Constants.OrderStatus.WAIT_RECEIVE.getKey());
+                        goodsOrder.setPayMethod(Constants.ZERO);
+                        goodsorderService.updateById(goodsOrder);
+                        Fund fund = new Fund();
+                        fund.setOrderCode(goodsOrder.getPayOrderId());
+                        fund.setCreator(goodsOrder.getMemberId());
+                        fund.setCreateDate(new Date());
+                        fund.setIsdeleted(Constants.ZERO);
+                        fund.setRemark(goodsOrder.getCode().toString());
+                        fund.setMemberId(goodsOrder.getMemberId());
+                        fund.setTitle("璁㈠崟鏀粯");
+                        fund.setContent("璁㈠崟鏀粯");
+                        fund.setObjId(goodsOrder.getId());
+                        fund.setObjType(Constants.ONE);
+                        fund.setType(Constants.ZERO);
+                        fund.setNum(goodsOrder.getPrice());
+                        fundService.create(fund);
+                        break;
+                    }
+
                 }
                 return WxPayNotifyResponse.success("澶勭悊鎴愬姛!");
             }

--
Gitblit v1.9.3