jiangping
2023-12-29 f9691d544e62d6c04dbfe45d05a6c7bc5e004291
server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java
@@ -4,11 +4,11 @@
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.TransactionsMapper;
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.*;
import com.doumee.dao.business.model.RefundPlatExportVO;
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.system.model.SystemUser;
@@ -18,6 +18,8 @@
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;
@@ -26,7 +28,9 @@
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实现
@@ -40,6 +44,9 @@
    private RefundMapper refundMapper;
    @Autowired
    private RefundJoinMapper refundJoinMapper;
    @Autowired
    private TransactionsMapper transactionsMapper;
    @Override
    public String create(Refund refund) {
@@ -107,9 +114,19 @@
        pageWrap.getModel().setStatus(Constants.TWO);
        IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Refund> queryWrapper = initQueryParamByModel(pageWrap.getModel());
        queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getCreatorName()),SystemUser::getRealname,pageWrap.getModel().getCreatorName());
        return PageData.from(refundJoinMapper.selectJoinPage(page, Refund.class,queryWrapper));
        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()));
            });
        }
        return PageData.from(refundIPage);
    }
    @Override
    public List<RefundPlatExportVO>  findPlatExportPage( Refund pageWrap) {
        pageWrap.setTypeList(new ArrayList<>());
@@ -126,6 +143,7 @@
            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));
@@ -151,13 +169,22 @@
        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());
        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;