liujie
2023-08-16 db7fa6a91b9534ac90e219b6f554c54c43c83a5a
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/RevenueServiceImpl.java
@@ -4,11 +4,9 @@
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.supersavedriving.driver.core.util.ToolUtil;
import com.supersavedriving.driver.modular.system.dao.AccountChangeDetailMapper;
import com.supersavedriving.driver.modular.system.dao.RevenueMapper;
import com.supersavedriving.driver.modular.system.model.AppUser;
import com.supersavedriving.driver.modular.system.model.Driver;
import com.supersavedriving.driver.modular.system.model.Order;
import com.supersavedriving.driver.modular.system.model.Revenue;
import com.supersavedriving.driver.modular.system.model.*;
import com.supersavedriving.driver.modular.system.service.IAppUserService;
import com.supersavedriving.driver.modular.system.service.IDriverService;
import com.supersavedriving.driver.modular.system.service.IOrderService;
@@ -18,6 +16,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@@ -38,6 +37,9 @@
    @Autowired
    private IDriverService driverService;
    @Resource
    private AccountChangeDetailMapper accountChangeDetailMapper;
@@ -53,32 +55,34 @@
     * @throws Exception
     */
    @Override
    public List<CommissionListWarpper> queryCommissionList(Integer driverId, String time, Integer pageNum, Integer pageSize) throws Exception {
    public List<CommissionListWarpper> queryCommissionList(Integer driverId, String time, Integer pageNum, Integer pageSize,Integer type) throws Exception {
        pageNum = (pageNum - 1) * pageSize;
        Wrapper<Revenue> wrapper = new EntityWrapper<Revenue>().eq("type", 2).eq("userType", 2)
                .eq("userId", driverId);
        ArrayList<Integer> objects = new ArrayList<>();
        objects.add(1);
        objects.add(4);
        objects.add(5);
        objects.add(7);
        Wrapper<AccountChangeDetail> wrapper = new EntityWrapper<AccountChangeDetail>().eq("userType", 2)
                .eq("userId", driverId).eq("type",1).in("changeType",objects);
        if(ToolUtil.isNotEmpty(type)){
            wrapper.eq("changeType",type);
        }
        if(ToolUtil.isNotEmpty(time)){
            wrapper.eq("DATE_FORMAT(createTime, '%Y年%m月')", time);
        }
        List<Revenue> revenues = this.selectList(wrapper.last(" order by createTime desc limit " + pageNum + ", " + pageSize));
        List<AccountChangeDetail> revenues = accountChangeDetailMapper.selectList(wrapper.last(" order by createTime desc limit " + pageNum + ", " + pageSize));
        List<CommissionListWarpper> list = new ArrayList<>();
        for (Revenue revenue : revenues) {
        for (AccountChangeDetail revenue : revenues) {
            CommissionListWarpper commissionListWarpper = new CommissionListWarpper();
            commissionListWarpper.setCreateTime(revenue.getCreateTime().getTime());
            commissionListWarpper.setAmount(revenue.getAmount());
            Order order = orderService.selectById(revenue.getOrderId());
            if(null != order.getUserId()){
                AppUser appUser = appUserService.selectById(order.getUserId());
                if(null != appUser.getInviterType() && appUser.getInviterType() == 2 && appUser.getInviterId().compareTo(driverId) == 0){
                    commissionListWarpper.setUserType(1);
                }
            commissionListWarpper.setUserType(revenue.getChangeType());
            commissionListWarpper.setMoney(revenue.getOldData());
            if(revenue.getChangeType()==4){
                commissionListWarpper.setAmount(revenue.getNewData()-revenue.getOldData());
            }else {
                commissionListWarpper.setAmount(revenue.getOldData()-revenue.getNewData());
            }
            if(null == commissionListWarpper.getUserType()){
                Driver driver = driverService.selectById(order.getDriverId());
                if(null != driver.getInviterType() && driver.getInviterType() == 2 && driver.getInviterId().compareTo(driverId) == 0){
                    commissionListWarpper.setUserType(2);
                }
            }
            list.add(commissionListWarpper);
        }
        return list;
@@ -106,4 +110,25 @@
    public List<PerformanceRankingWarpper> queryDriverRank(Integer type, String time, Integer dayType) {
        return this.baseMapper.queryDriverRank(type, time, dayType);
    }
    /**
     * 获取代理商账户余额
     * @param companyId
     * @return
     */
    @Override
    public Double queryAgentBalance(Integer companyId) {
        return this.baseMapper.queryAgentBalance(companyId);
    }
    /**
     * 获取平台账户余额
     * @return
     */
    @Override
    public Double queryCompanyBalance() {
        return this.baseMapper.queryCompanyBalance();
    }
}