From f9691d544e62d6c04dbfe45d05a6c7bc5e004291 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 29 十二月 2023 11:52:29 +0800
Subject: [PATCH] 服务商

---
 server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java |  178 ++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 109 insertions(+), 69 deletions(-)

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..0c322f5 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,20 +1,36 @@
 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.core.wx.WxMiniUtilService;
 import com.doumee.dao.business.RefundMapper;
-import com.doumee.dao.business.model.Refund;
+import com.doumee.dao.business.TransactionsMapper;
+import com.doumee.dao.business.join.RefundJoinMapper;
+import com.doumee.dao.business.model.*;
+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 com.wechat.pay.java.service.refund.model.RefundNotification;
+import io.swagger.models.auth.In;
+import org.apache.commons.lang3.StringUtils;
 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.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 閫�娆句俊鎭〃Service瀹炵幇
@@ -26,6 +42,11 @@
 
     @Autowired
     private RefundMapper refundMapper;
+    @Autowired
+    private RefundJoinMapper refundJoinMapper;
+    @Autowired
+    private TransactionsMapper transactionsMapper;
+
 
     @Override
     public String create(Refund refund) {
@@ -75,7 +96,7 @@
     @Override
     public Refund findOne(Refund refund) {
         QueryWrapper<Refund> wrapper = new QueryWrapper<>(refund);
-        return refundMapper.selectOne(wrapper);
+        return refundMapper.selectOne(wrapper.last(" limit 1"));
     }
 
     @Override
@@ -83,77 +104,96 @@
         QueryWrapper<Refund> wrapper = new QueryWrapper<>(refund);
         return refundMapper.selectList(wrapper);
     }
-  
+
     @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());
+    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());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreatorName())
+                ,SystemUser::getRealname
+                ,pageWrap.getModel().getCreatorName());
+        IPage<Refund> refundIPage = refundJoinMapper.selectJoinPage(page, Refund.class, queryWrapper);
+        if (!CollectionUtils.isEmpty(refundIPage.getRecords())){
+            refundIPage.getRecords().forEach(s->{
+                    s.setMoney(Constants.translateMoney(s.getMoney()));
+                    s.setCanBalance(Constants.translateMoney(s.getCanBalance()));
+            });
         }
-        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());
+        return PageData.from(refundIPage);
+    }
+
+    @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.setObjId(order.getObjId());
+                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.getCanBalance()).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);
+        //鏃堕棿娈电瓫閫�
+        if (Objects.nonNull(model.getStartDate())) {
+            queryWrapper.ge(Refund::getDoneDate, Utils.Date.getStart(model.getStartDate()));
+        }
+        if (Objects.nonNull(model.getEndDate())) {
+            queryWrapper.le(Refund::getDoneDate, Utils.Date.getEnd(model.getEndDate()));
+        }
+//        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.in(model.getTypeList() !=null,Refund::getType,model.getTypeList());
+        queryWrapper.eq(model.getType() !=null,Refund::getType,model.getType());
+        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.like(model.getCreatorName() !=null,SystemUser::getRealname,model.getCreatorName());
+        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