jiangping
2023-12-12 037c144cd417410deb8137c6f3fd271a34691742
server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java
@@ -5,6 +5,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
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.*;
import com.doumee.dao.business.model.RefundPlatExportVO;
@@ -16,6 +17,7 @@
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 org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -24,6 +26,7 @@
import java.math.BigDecimal;
import java.sql.Ref;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -39,6 +42,8 @@
    private RefundMapper refundMapper;
    @Autowired
    private RefundJoinMapper refundJoinMapper;
    @Autowired
    private TransactionsMapper transactionsMapper;
    @Override
    public String create(Refund refund) {
@@ -106,11 +111,28 @@
        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())
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreatorName())
                ,SystemUser::getRealname
                ,pageWrap.getModel().getCreatorName());
        return PageData.from(refundJoinMapper.selectJoinPage(page, Refund.class,queryWrapper));
        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 void autoCancelRefunOrder(){
        Date date = new Date(System.currentTimeMillis()-5*60L*1000L);
        refundMapper.update(null, new UpdateWrapper<Refund>().lambda()
                    .eq(Refund::getStatus,Constants.ZERO)
                    .lt(Refund::getCreateDate,date)
                            .set(Refund::getStatus,Constants.ONE)
                            .set(Refund::getEditDate,new Date())
                            .set(Refund::getInfo,"超时未回调,自动取消")
                    );
    }
    @Override
    public List<RefundPlatExportVO>  findPlatExportPage( Refund pageWrap) {
@@ -128,6 +150,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));
@@ -168,6 +191,7 @@
        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;