| | |
| | | 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.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; |
| | |
| | | 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; |
| | | 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实现 |
| | |
| | | private RefundMapper refundMapper; |
| | | @Autowired |
| | | private RefundJoinMapper refundJoinMapper; |
| | | @Autowired |
| | | private TransactionsMapper transactionsMapper; |
| | | |
| | | @Override |
| | | public String create(Refund refund) { |
| | |
| | | QueryWrapper<Refund> wrapper = new QueryWrapper<>(refund); |
| | | return refundMapper.selectList(wrapper); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public PageData<Refund> findPlatPage(PageWrap<Refund> pageWrap) { |
| | | pageWrap.getModel().setTypeList(new ArrayList<>()); |
| | |
| | | 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)); |
| | | 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 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) { |
| | |
| | | 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)); |
| | |
| | | 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; |