xiaoyong931011
2022-12-22 70cd2aec8a55e222070d4dd6d816dcb3231a1217
src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -20,18 +20,23 @@
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.service.IMallAchieveService;
import cc.mrbird.febs.mall.service.IMemberProfitService;
import cc.mrbird.febs.mall.vo.ApiMallSubsidyAmountInfoVo;
import cc.mrbird.febs.pay.model.*;
import cc.mrbird.febs.pay.service.UnipayService;
import cc.mrbird.febs.rabbit.consumer.AgentConsumer;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -95,35 +100,30 @@
    @Test
    public void directorProfitTest() {
        MallMember member = mallMemberMapper.selectById(1L);
        MallOrderInfo orderInfo = mallOrderInfoMapper.selectOrderByMemberIdAndId(member.getId(), 577L);
        if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) {
            throw new FebsException("订单不存在");
        }
        if (orderInfo.getStatus() != OrderStatusEnum.WAIT_FINISH.getValue()) {
            throw new FebsException("该状态不能确认收货");
        }
        orderInfo.setStatus(OrderStatusEnum.FINISH.getValue());
        orderInfo.setReceivingTime(new Date());
        mallOrderInfoMapper.updateById(orderInfo);
        /**
         * 通过支付流水记录,返回下单金额
         */
        MallMoneyFlow payFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn(
                member.getId(),
                orderInfo.getOrderNo(),
                MallMoneyFlowTypeEnum.PAY.getCode(),
                MallMoneyFlow.STATUS_SUCCESS,
                MallMoneyFlow.IS_RETURN_N);
        if(ObjectUtil.isNotEmpty(payFlow)){
            memberWalletService.addBalance(payFlow.getAmount().negate(),payFlow.getRtMemberId());
            payFlow.setIsReturn(MallMoneyFlow.IS_RETURN_Y);
            mallMoneyFlowMapper.updateById(payFlow);
        }
        //产生补贴流水记录
        agentProducer.sendDirectRewardMsg(orderInfo.getId());
        MallMember member = mallMemberMapper.selectById(633L);
        ApiMallSubsidyAmountInfoVo apiMallSubsidyAmountInfoVo = new ApiMallSubsidyAmountInfoVo();
        DateTime today = DateUtil.date();
        DateTime yesterday = DateUtil.yesterday();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String yyyyMMddToday = sdf.format(today);
        String yyyyMMddYesterday = sdf.format(yesterday);
        //今日补贴
        BigDecimal todayAmount = mallOrderInfoMapper.selectTodayAmountByCreateTimeAndMemberId(yyyyMMddToday,member.getId());
        apiMallSubsidyAmountInfoVo.setTodayAmount(todayAmount);
        //今日累计接单
        Integer todayTotalCnt = mallOrderInfoMapper.selectCountByCreateTimeAndMemberId(yyyyMMddToday,member.getId());
        apiMallSubsidyAmountInfoVo.setTodayTotalCnt(todayTotalCnt);
        //昨日补贴
        BigDecimal yesterdayAmount = mallOrderInfoMapper.selectTodayAmountByCreateTimeAndMemberId(yyyyMMddYesterday,member.getId());
        apiMallSubsidyAmountInfoVo.setYesterdayAmount(yesterdayAmount);
        //昨日累计接单
        Integer totalYesterdayCnt = mallOrderInfoMapper.selectCountByCreateTimeAndMemberId(yyyyMMddYesterday,member.getId());
        apiMallSubsidyAmountInfoVo.setTotalYesterdayCnt(totalYesterdayCnt);
        //获得总额
        BigDecimal totalAmount = mallOrderInfoMapper.selectTodayAmountByCreateTimeAndMemberId(null,member.getId());
        apiMallSubsidyAmountInfoVo.setTotalAmount(totalAmount);
        JSON parse = JSONUtil.parse(apiMallSubsidyAmountInfoVo);
        System.out.println(parse.toString());
    }
    @Autowired