From d7d6facdf81c4d666c8c71e44121116079d96700 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 10 十月 2023 14:40:21 +0800
Subject: [PATCH] 后台结算记录

---
 server/services/src/main/java/com/doumee/service/business/RefundService.java              |    6 
 server/services/src/main/java/com/doumee/dao/business/join/RefundJoinMapper.java          |   13 +
 server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java     |  145 +++++++++++---------
 server/platform/src/main/java/com/doumee/api/common/CaptchaController.java                |   26 +--
 server/platform/src/main/java/com/doumee/api/business/RefundController.java               |   16 ++
 server/services/src/main/java/com/doumee/core/constants/Constants.java                    |   49 +++++++
 server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java               |    7 
 server/services/src/main/java/com/doumee/dao/business/vo/RefundPlatExportVO.java          |   52 +++++++
 server/services/src/main/java/com/doumee/dao/business/model/Refund.java                   |   31 ++++
 server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java          |   16 +-
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |    7 
 11 files changed, 270 insertions(+), 98 deletions(-)

diff --git a/server/platform/src/main/java/com/doumee/api/business/RefundController.java b/server/platform/src/main/java/com/doumee/api/business/RefundController.java
index dd710dd..66de621 100644
--- a/server/platform/src/main/java/com/doumee/api/business/RefundController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/RefundController.java
@@ -6,7 +6,10 @@
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.business.model.Refund;
+import com.doumee.dao.business.model.RefundPlatExportVO;
+import com.doumee.dao.business.vo.GoodsorderExportVO;
 import com.doumee.service.business.RefundService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -73,6 +76,12 @@
     public ApiResponse<PageData<Refund>> findPage (@RequestBody PageWrap<Refund> pageWrap) {
         return ApiResponse.success(refundService.findPage(pageWrap));
     }
+    @ApiOperation("鍚庡彴缁撶畻璁板綍")
+    @PostMapping("/page")
+    @RequiresPermissions("business:refund:query")
+    public ApiResponse<PageData<Refund>> findPlatPage (@RequestBody PageWrap<Refund> pageWrap) {
+        return ApiResponse.success(refundService.findPlatPage(pageWrap));
+    }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
@@ -81,6 +90,13 @@
         ExcelExporter.build(Refund.class).export(refundService.findPage(pageWrap).getRecords(), "閫�娆句俊鎭〃", response);
     }
 
+    @ApiOperation("瀵煎嚭鍚庡彴缁撶畻璁板綍Excel")
+    @PostMapping("/exportPlatExcel")
+    @RequiresPermissions("business:refund:exportExcel")
+    public void exportPlatExcel (@RequestBody PageWrap<Refund> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(RefundPlatExportVO.class).exportWithFirstAndEnd(refundService.findPlatExportPage(pageWrap.getModel()), "鍚庡彴缁撶畻璁板綍_"+System.currentTimeMillis(),"鍚庡彴缁撶畻璁板綍_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
+    }
+
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @RequiresPermissions("business:refund:query")
diff --git a/server/platform/src/main/java/com/doumee/api/common/CaptchaController.java b/server/platform/src/main/java/com/doumee/api/common/CaptchaController.java
index 2162667..7142b02 100644
--- a/server/platform/src/main/java/com/doumee/api/common/CaptchaController.java
+++ b/server/platform/src/main/java/com/doumee/api/common/CaptchaController.java
@@ -12,22 +12,20 @@
 import org.springframework.web.bind.annotation.RestController;
 
 /**
- * @author Eva.Caesar Liu
- * @date 2023/02/14 11:14
- */
-@Api(tags = "鍥剧墖楠岃瘉鐮佹帴鍙�")
-@Trace(exclude = true)
-@RestController
-@RequestMapping("/common")
-public class CaptchaController extends BaseController {
-
-    @Autowired
-    private CaptchaService captchaService;
-
-    /**
+ * @author Eva.
      * @author Eva.Caesar Liu
      * @date 2023/02/14 11:14
-     */
+        */
+    @Api(tags = "鍥剧墖楠岃瘉鐮佹帴鍙�")
+    @Trace(exclude = true)
+    @RestController
+    @RequestMapping("/common")
+    public class CaptchaController extends BaseController {
+
+        @Autowired
+        private CaptchaService captchaService;
+
+
     @ApiOperation("鑾峰彇鍥剧墖楠岃瘉鐮�")
     @GetMapping("/captcha")
     public ApiResponse<CaptchaService.Captcha> getCaptcha() {
diff --git a/server/services/src/main/java/com/doumee/core/constants/Constants.java b/server/services/src/main/java/com/doumee/core/constants/Constants.java
index dd9844b..4777737 100644
--- a/server/services/src/main/java/com/doumee/core/constants/Constants.java
+++ b/server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -187,6 +187,55 @@
                 this.info = info;
             }
         }
+
+    public enum REFUND_TYPE{
+        // '閫�娆剧被鍨� 0鐢ㄦ埛缁撶畻閫�娆� 1骞冲彴鑷姩缁撶畻閫�娆� 2寮哄埗缁撶畻閫�娆� 3缁撶畻鍚庨��娆�'
+        NORMAL(  0,"鐢ㄦ埛缁撶畻閫�娆�",""),
+
+        PLAT_AUTO( 1,"骞冲彴鑷姩缁撶畻閫�娆�",""),
+
+        PLAT_FORCE( 2,"寮哄埗缁撶畻閫�娆�",""),
+
+        BACK( 3,"缁撶畻鍚庨��娆�",""),
+
+        ;
+        String name;
+
+        Integer key;
+
+        String info;
+
+
+        REFUND_TYPE(Integer key,String name, String info) {
+            this.name = name;
+            this.key = key;
+            this.info = info;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public Integer getKey() {
+            return key;
+        }
+
+        public void setKey(Integer key) {
+            this.key = key;
+        }
+
+        public String getInfo() {
+            return info;
+        }
+
+        public void setInfo(String info) {
+            this.info = info;
+        }
+    }
         public enum MEMBER_RIDES_STATUS{
 //            0璇锋眰寮�閿佷腑 1楠戣涓� 2宸茶繕杞�  3寮�閿佸け璐�
             LOCKING("璇锋眰寮�閿佷腑", 0,"璇锋眰寮�閿佷腑"),
diff --git a/server/services/src/main/java/com/doumee/dao/business/join/RefundJoinMapper.java b/server/services/src/main/java/com/doumee/dao/business/join/RefundJoinMapper.java
new file mode 100644
index 0000000..0c08a07
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/join/RefundJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.doumee.dao.business.model.Goodsorder;
+import com.doumee.dao.business.model.Refund;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @author T14
+ */
+@Repository
+public interface RefundJoinMapper extends MPJJoinMapper<Refund> {
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java b/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
index b1d4831..2727a63 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
@@ -104,13 +104,14 @@
 
     @ApiModelProperty(value = "缁撶畻绫诲瀷 0鑷姩缁撶畻 1骞冲彴浜哄伐缁撶畻 2绯荤粺鑷姩缁撶畻")
     private Integer closeType;
+
+    @ApiModelProperty(value = "鐢ㄦ埛openid" )
+    @TableField(exist = false)
+    private String memberOpenid;
     @ApiModelProperty(value = "鏌ヨ寮�濮嬫棩鏈燂紙鍖呭惈锛�", example = "2023-10-01 15:12:01")
     @TableField(exist = false)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startDate;
-    @ApiModelProperty(value = "鐢ㄦ埛openid" )
-    @TableField(exist = false)
-    private String memberOpenid;
     @ApiModelProperty(value = "鏌ヨ鎴鏃ユ湡锛堝寘鍚級", example = "2023-10-09 15:12:05")
     @TableField(exist = false)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Refund.java b/server/services/src/main/java/com/doumee/dao/business/model/Refund.java
index d7e8d5f..cf5e7c8 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Refund.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Refund.java
@@ -8,6 +8,7 @@
 import com.fasterxml.jackson.annotation.JsonFormat;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 閫�娆句俊鎭〃
@@ -58,6 +59,10 @@
     @ExcelColumn(name="鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級")
     private String memberId;
 
+    @ApiModelProperty(value = "鍙��閲戦", example = "1")
+    @ExcelColumn(name="鍙��鍥炴娂閲戯紙鍏冿級" )
+    private BigDecimal canBanlance;
+
     @ApiModelProperty(value = "浜ゆ槗閲戦", example = "1")
     @ExcelColumn(name="浜ゆ槗閲戦")
     private BigDecimal money;
@@ -83,9 +88,12 @@
     //@JsonFormat(pattern = "yyyy-MM-dd")
     private Date doneDate;
 
-    @ApiModelProperty(value = "閫�娆剧被鍨� 0缁撶畻閫�娆� 1寮哄埗缁撶畻閫�娆� 2缁撶畻鍚庨��娆�", example = "1")
-    @ExcelColumn(name="閫�娆剧被鍨� 0缁撶畻閫�娆� 1寮哄埗缁撶畻閫�娆� 2缁撶畻鍚庨��娆�")
+    @ApiModelProperty(value = "閫�娆剧被鍨� 0鐢ㄦ埛缁撶畻閫�娆� 1骞冲彴鑷姩缁撶畻閫�娆� 2寮哄埗缁撶畻閫�娆� 3缁撶畻鍚庨��娆�'", example = "1")
+    @ExcelColumn(name="閫�娆剧被鍨� 0鐢ㄦ埛缁撶畻閫�娆� 1骞冲彴鑷姩缁撶畻閫�娆� 2寮哄埗缁撶畻閫�娆� 3缁撶畻鍚庨��娆�'")
     private Integer type;
+    @ApiModelProperty(value = "閫�娆剧被鍨� 0缁撶畻閫�娆� 1寮哄埗缁撶畻閫�娆� 2缁撶畻鍚庨��娆�", example = "1")
+    @TableField(exist = false)
+    private List<Integer> typeList;
 
     @ApiModelProperty(value = "閫�娆惧叧鑱旇鍗曠紪鐮�")
     @ExcelColumn(name="閫�娆惧叧鑱旇鍗曠紪鐮�")
@@ -94,10 +102,29 @@
     @ApiModelProperty(value = "閫�娆惧師鍥�")
     @ExcelColumn(name="閫�娆惧師鍥�")
     private String reason;
+    @ApiModelProperty(value = "鎿嶄綔浜�")
+    @TableField(exist = false)
+    private String creatorName;
+
+    @ApiModelProperty(value = "鐢ㄦ埛")
+    @TableField(exist = false)
+    private String openid;
+    @ApiModelProperty(value = "鏀粯鎶奸噾浜ゆ槗鍗曞彿")
+    @TableField(exist = false)
+    private String payOnlineOrderid;
 
 
     @ApiModelProperty(value = "浜ゆ槗绗旀暟", example = "0")
     @TableField(exist = false)
     private int countNum;
+    @ApiModelProperty(value = "鏌ヨ寮�濮嬫棩鏈燂紙鍖呭惈锛�", example = "2023-10-01 15:12:01")
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date startDate;
+    @ApiModelProperty(value = "鏌ヨ鎴鏃ユ湡锛堝寘鍚級", example = "2023-10-09 15:12:05")
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endDate;
+
 
 }
diff --git a/server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java b/server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java
index 792124a..a0b31bf 100644
--- a/server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java
+++ b/server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java
@@ -23,38 +23,38 @@
 public class GoodsorderExportVO {
 
     @ApiModelProperty(value = "缂栫爜")
-    @ExcelColumn(name="璁㈠崟缂栧彿",width = 10,align = HorizontalAlignment.CENTER)
+    @ExcelColumn(name="璁㈠崟缂栧彿",index = 1,width = 10,align = HorizontalAlignment.CENTER)
     private String id;
     @ApiModelProperty(value = "璁㈠崟缂栫爜")
 //    @ExcelColumn(name="璁㈠崟缂栫爜")
     private String code;
     @ApiModelProperty(value = "鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級")
-    @ExcelColumn(name="鐢ㄦ埛",width = 10,align = HorizontalAlignment.CENTER)
+    @ExcelColumn(name="鐢ㄦ埛",width = 10,index = 2,align = HorizontalAlignment.CENTER)
     private String openid;
 
     @ApiModelProperty(value = "浜ゆ槗閲戦")
-    @ExcelColumn(name="鏀粯閲戦",width = 10,align = HorizontalAlignment.CENTER)
+    @ExcelColumn(name="鏀粯閲戦",width = 10,index = 3,align = HorizontalAlignment.CENTER)
     private BigDecimal money;
 
 
     @ApiModelProperty(value = "鏀粯鏃堕棿")
-    @ExcelColumn(name="鏀粯鏃堕棿",width = 10,align = HorizontalAlignment.CENTER)
+    @ExcelColumn(name="鏀粯鏃堕棿",width = 10,index = 4,align = HorizontalAlignment.CENTER)
     private Date payDate;
 
     @ApiModelProperty(value = "缁撶畻閲戦(鍒嗭級")
-    @ExcelColumn(name="缁撶畻閲戦",width = 10,align = HorizontalAlignment.CENTER)
+    @ExcelColumn(name="缁撶畻閲戦",width = 10,index = 5,align = HorizontalAlignment.CENTER)
     private BigDecimal closeMoney;
 
     @ApiModelProperty(value = "缁撶畻鏃堕棿")
-    @ExcelColumn(name="缁撶畻鏃堕棿",width = 10,align = HorizontalAlignment.CENTER)
+    @ExcelColumn(name="缁撶畻鏃堕棿",width = 10,index = 6,align = HorizontalAlignment.CENTER)
     private Date closeDate;
 
     @ApiModelProperty(value = "閫�娆鹃噾棰�(鍒嗭級")
-    @ExcelColumn(name="閫�娆鹃噾棰�",width = 10,align = HorizontalAlignment.CENTER)
+    @ExcelColumn(name="閫�娆鹃噾棰�",width = 10,index = 7,align = HorizontalAlignment.CENTER)
     private BigDecimal refundMoney;
 
     @ApiModelProperty(value = "閫�娆炬椂闂�")
-    @ExcelColumn(name="閫�娆炬椂闂�",width = 10,align = HorizontalAlignment.CENTER)
+    @ExcelColumn(name="閫�娆炬椂闂�",width = 10,index = 8,align = HorizontalAlignment.CENTER)
     private Date refundDate;
 
 }
diff --git a/server/services/src/main/java/com/doumee/dao/business/vo/RefundPlatExportVO.java b/server/services/src/main/java/com/doumee/dao/business/vo/RefundPlatExportVO.java
new file mode 100644
index 0000000..336009e
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/vo/RefundPlatExportVO.java
@@ -0,0 +1,52 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 閫�娆句俊鎭〃
+ * @author 姹熻箘韫�
+ * @date 2023/09/27 18:06
+ */
+@Data
+@ApiModel("鍚庡彴缁撶畻瀵煎嚭淇℃伅")
+public class RefundPlatExportVO {
+
+    @ApiModelProperty(value = "缂栫爜")
+    @ExcelColumn(name="缂栫爜",width = 10,index = 2,align = HorizontalAlignment.CENTER)
+    private String id;
+    @ApiModelProperty(value = "鐢ㄦ埛")
+    @ExcelColumn(name="閫�娆句氦鏄撳崟鍙�" ,width = 10,index = 2,align = HorizontalAlignment.CENTER)
+    private String openid;
+    @ApiModelProperty(value = "鏀粯鎶奸噾浜ゆ槗鍗曞彿")
+    @ExcelColumn(name="閫�娆句氦鏄撳崟鍙�" ,width = 10,index = 3,align = HorizontalAlignment.CENTER)
+    private String payOnlineOrderid;
+    @ApiModelProperty(value = "鍙��閲戦", example = "1")
+    @ExcelColumn(name="鍙��鍥炴娂閲戯紙鍏冿級"   ,width = 10,index = 4,align = HorizontalAlignment.CENTER)
+    private BigDecimal canBanlance;
+    @ApiModelProperty(value = "浜ゆ槗閲戦", example = "1")
+    @ExcelColumn(name="閫�鍥炴娂閲�(鍏�)"  ,width = 10,index = 5,align = HorizontalAlignment.CENTER)
+    private BigDecimal money;
+    @ApiModelProperty(value = "閫�娆句氦鏄撳崟鍙�")
+    @ExcelColumn(name="閫�娆句氦鏄撳崟鍙�" ,width = 10,index = 6,align = HorizontalAlignment.CENTER)
+    private String onlineOrderid;
+    @ApiModelProperty(value = "鎿嶄綔鏃堕棿")
+    @ExcelColumn(name="鎿嶄綔鏃堕棿" ,width = 10,index = 7,align = HorizontalAlignment.CENTER)
+    private Date doneDate;
+    @ApiModelProperty(value = "鎿嶄綔浜�")
+    @ExcelColumn(name="閫�娆句氦鏄撳崟鍙�" ,width = 10,index = 8,align = HorizontalAlignment.CENTER)
+    private String creatorName;
+    @ApiModelProperty(value = "閫�娆惧師鍥�")
+    @ExcelColumn(name="鍘熷洜" ,width = 10,index = 9,align = HorizontalAlignment.CENTER)
+    private String reason;
+
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/RefundService.java b/server/services/src/main/java/com/doumee/service/business/RefundService.java
index db80755..101218f 100644
--- a/server/services/src/main/java/com/doumee/service/business/RefundService.java
+++ b/server/services/src/main/java/com/doumee/service/business/RefundService.java
@@ -3,6 +3,8 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.Refund;
+import com.doumee.dao.business.model.RefundPlatExportVO;
+
 import java.util.List;
 
 /**
@@ -94,4 +96,8 @@
      * @return long
      */
     long count(Refund refund);
+
+    PageData<Refund>  findPlatPage(PageWrap<Refund> pageWrap);
+
+    List<RefundPlatExportVO>  findPlatExportPage(  Refund pageWrap);
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 56f195a..9af2579 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -151,14 +151,14 @@
     @Override
     public   List<GoodsorderExportVO> findExportNotBikPage(Goodsorder model){
         List<GoodsorderExportVO> list = new ArrayList<>();
+        model.setPayStatus(Constants.ONE); //鍙煡璇㈡敮浠樻垚鍔熺殑
         MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(model);
-
         List<Goodsorder> goodsorderList = goodsorderJoinMapper.selectJoinList(Goodsorder.class,queryWrapper);
         if(goodsorderList!=null){
             for(Goodsorder order : goodsorderList){
                 GoodsorderExportVO vo = new GoodsorderExportVO();
                 vo.setId(order.getId());
-                vo.setOpenid(order.getMemberName());
+                vo.setOpenid(order.getMemberOpenid());
                 vo.setPayDate(order.getPayDate());
                 vo.setCloseDate(order.getCloseDate());
                 vo.setCloseDate(order.getCloseDate());
@@ -173,8 +173,7 @@
     private MPJLambdaWrapper<Goodsorder> initQueryParamByModel(Goodsorder model) {
         MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(model);
-        //鍙煡璇㈡敮浠樻垚鍔熺殑
-        model.setPayStatus(Constants.ONE);
+
         queryWrapper.selectAll(Goodsorder.class);
         queryWrapper.selectAs(Member::getOpenid, Goodsorder::getMemberOpenid);
         queryWrapper.leftJoin(Member.class, Member::getId  ,Goodsorder::getMemberId);
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java
index b02ea96..44f2f74 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java
@@ -1,19 +1,30 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.Constants;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.RefundMapper;
+import com.doumee.dao.business.join.RefundJoinMapper;
+import com.doumee.dao.business.model.Goodsorder;
+import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.model.Refund;
+import com.doumee.dao.business.model.RefundPlatExportVO;
+import com.doumee.dao.business.vo.GoodsorderExportVO;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.RefundService;
 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 com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
+import java.sql.Ref;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -26,6 +37,8 @@
 
     @Autowired
     private RefundMapper refundMapper;
+    @Autowired
+    private RefundJoinMapper refundJoinMapper;
 
     @Override
     public String create(Refund refund) {
@@ -85,75 +98,73 @@
     }
   
     @Override
-    public PageData<Refund> findPage(PageWrap<Refund> pageWrap) {
-        IPage<Refund> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<Refund> queryWrapper = new QueryWrapper<>();
-        Utils.MP.blankToNull(pageWrap.getModel());
-        if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(Refund::getId, pageWrap.getModel().getId());
-        }
-        if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(Refund::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(Refund::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
-        }
-        if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(Refund::getCreator, pageWrap.getModel().getCreator());
-        }
-        if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(Refund::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(Refund::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
-        }
-        if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(Refund::getEditor, pageWrap.getModel().getEditor());
-        }
-        if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(Refund::getIsdeleted, pageWrap.getModel().getIsdeleted());
-        }
-        if (pageWrap.getModel().getInfo() != null) {
-            queryWrapper.lambda().eq(Refund::getInfo, pageWrap.getModel().getInfo());
-        }
-        if (pageWrap.getModel().getCode() != null) {
-            queryWrapper.lambda().eq(Refund::getCode, pageWrap.getModel().getCode());
-        }
-        if (pageWrap.getModel().getMemberId() != null) {
-            queryWrapper.lambda().eq(Refund::getMemberId, pageWrap.getModel().getMemberId());
-        }
-        if (pageWrap.getModel().getMoney() != null) {
-            queryWrapper.lambda().eq(Refund::getMoney, pageWrap.getModel().getMoney());
-        }
-        if (pageWrap.getModel().getStatus() != null) {
-            queryWrapper.lambda().eq(Refund::getStatus, pageWrap.getModel().getStatus());
-        }
-        if (pageWrap.getModel().getPreOrderid() != null) {
-            queryWrapper.lambda().eq(Refund::getPreOrderid, pageWrap.getModel().getPreOrderid());
-        }
-        if (pageWrap.getModel().getOnlineOrderid() != null) {
-            queryWrapper.lambda().eq(Refund::getOnlineOrderid, pageWrap.getModel().getOnlineOrderid());
-        }
-        if (pageWrap.getModel().getPayWay() != null) {
-            queryWrapper.lambda().eq(Refund::getPayWay, pageWrap.getModel().getPayWay());
-        }
-        if (pageWrap.getModel().getDoneDate() != null) {
-            queryWrapper.lambda().ge(Refund::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getDoneDate()));
-            queryWrapper.lambda().le(Refund::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getDoneDate()));
-        }
-        if (pageWrap.getModel().getType() != null) {
-            queryWrapper.lambda().eq(Refund::getType, pageWrap.getModel().getType());
-        }
-        if (pageWrap.getModel().getObjId() != null) {
-            queryWrapper.lambda().eq(Refund::getObjId, pageWrap.getModel().getObjId());
-        }
-        if (pageWrap.getModel().getReason() != null) {
-            queryWrapper.lambda().eq(Refund::getReason, pageWrap.getModel().getReason());
-        }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
+    public PageData<Refund>  findPlatPage(PageWrap<Refund> pageWrap) {
+        pageWrap.getModel().setTypeList(new ArrayList<>());
+        //寮哄埗缁撶畻閫�娆� 鍜� 缁撶畻鍚庨��娆�
+        pageWrap.getModel().getTypeList().add(Constants.REFUND_TYPE.PLAT_FORCE.getKey());
+        pageWrap.getModel().getTypeList().add(Constants.REFUND_TYPE.BACK.getKey());
+        pageWrap.getModel().setStatus(Constants.TWO);
+        IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Refund> queryWrapper = initQueryParamByModel(pageWrap.getModel());
+        return PageData.from(refundJoinMapper.selectJoinPage(page, Refund.class,queryWrapper));
+    }
+    @Override
+    public List<RefundPlatExportVO>  findPlatExportPage( Refund pageWrap) {
+        pageWrap.setTypeList(new ArrayList<>());
+        //寮哄埗缁撶畻閫�娆� 鍜� 缁撶畻鍚庨��娆�
+        pageWrap.getTypeList().add(Constants.REFUND_TYPE.PLAT_FORCE.getKey());
+        pageWrap.getTypeList().add(Constants.REFUND_TYPE.BACK.getKey());
+        pageWrap.setStatus(Constants.TWO);
+        MPJLambdaWrapper<Refund> queryWrapper = initQueryParamByModel(pageWrap);
+
+        List<Refund> list = refundJoinMapper.selectJoinList(  Refund.class,queryWrapper);
+        List<RefundPlatExportVO> result = new ArrayList<>();
+
+        if(list!=null){
+            for(Refund order : list){
+                RefundPlatExportVO vo = new RefundPlatExportVO();
+                vo.setId(order.getId());
+                vo.setOpenid(order.getOpenid());
+                vo.setDoneDate(order.getDoneDate());
+                vo.setMoney(Constants.formatDecimalNum(order.getMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP));
+                vo.setCanBanlance(Constants.formatDecimalNum(order.getCanBanlance()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP));
+                vo.setOnlineOrderid(order.getOnlineOrderid());
+                vo.setPayOnlineOrderid(order.getPayOnlineOrderid());
+                vo.setCreatorName(order.getCreatorName());
+                vo.setReason(order.getReason());
+                result.add(vo);
             }
         }
-        return PageData.from(refundMapper.selectPage(page, queryWrapper));
+        return  result;
+    }
+
+    private MPJLambdaWrapper<Refund> initQueryParamByModel(Refund model) {
+        MPJLambdaWrapper<Refund> queryWrapper = new MPJLambdaWrapper<>();
+        Utils.MP.blankToNull(model);
+        //鍙煡璇㈡敮浠樻垚鍔熺殑
+        queryWrapper.selectAll(Refund.class);
+        queryWrapper.selectAs(SystemUser::getRealname, Refund::getCreatorName);
+        queryWrapper.selectAs(Member::getOpenid, Refund::getOpenid);
+        queryWrapper.leftJoin(Goodsorder.class, Goodsorder::getId  ,Refund::getObjId);
+        queryWrapper.leftJoin(Member.class, Member::getId  ,Goodsorder::getMemberId);
+        queryWrapper.leftJoin(SystemUser.class, SystemUser::getId  ,Refund::getCreator);
+        //鏃堕棿娈电瓫閫�
+        queryWrapper.ge(model.getStartDate()!=null, Refund::getDoneDate, model.getStartDate());
+        queryWrapper.le(model.getEndDate()!=null, Refund::getDoneDate, model.getEndDate());
+        queryWrapper.eq(model.getCreator() !=null,Refund::getCreator,model.getCreator());
+        queryWrapper.eq(model.getStatus() !=null,Refund::getStatus,model.getStatus());
+        queryWrapper.like(model.getPayOnlineOrderid() !=null,Goodsorder::getOnlineOrderid,model.getPayOnlineOrderid());
+        queryWrapper.like(model.getOnlineOrderid() !=null,Refund::getOnlineOrderid,model.getOnlineOrderid());
+        queryWrapper.like(model.getOpenid() !=null,Member::getOpenid,model.getOpenid());
+        queryWrapper.eq(Goodsorder::getIsdeleted,Constants.ZERO);
+        queryWrapper.orderByDesc(Refund::getDoneDate);
+        return  queryWrapper;
+    }
+    @Override
+    public PageData<Refund> findPage(PageWrap<Refund> pageWrap) {
+        IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Refund> queryWrapper = initQueryParamByModel(pageWrap.getModel());
+        return PageData.from(refundJoinMapper.selectJoinPage(page, Refund.class,queryWrapper));
     }
 
     @Override

--
Gitblit v1.9.3