zhubaomin
2024-08-12 10a200a9efc54e2a3c756882d8da3aaf1305aa44
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/VirtualCardSv.java
@@ -1,7 +1,18 @@
package com.dy.pipIrrStatistics.card;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoSe.SeVcOperateMapper;
import com.dy.pipIrrGlobal.voSt.VoClientRegisterVC;
import com.dy.pipIrrStatistics.card.qo.CommonQO;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
 * @author ZhuBaoMin
@@ -13,4 +24,44 @@
@Slf4j
@Service
public class VirtualCardSv {
    @Autowired
    private SeVcOperateMapper seVcOperateMapper;
    /**
     * 指定时间段内注册虚拟卡的农户
     * @param qo
     * @return
     */
    public QueryResultVo<List<VoClientRegisterVC>> getRegisterVcClients(CommonQO qo) {
        /**
         * 补齐起止时间,如果开始时间为空,则默认为当前日期
         */
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart != null) {
            timeStart = timeStart + " 00:00:00";
        }else {
            timeStart = LocalDate.now() + " 00:00:00";
        }
        if(timeStop != null) {
            timeStop = timeStop + " 23:59:59";
        }
        qo.setTimeStart(timeStart);
        qo.setTimeStop(timeStop);
        // 生成查询参数
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
        // 获取符合条件的记录数
        Long itemTotal = Optional.ofNullable(seVcOperateMapper.getRegisterVcClientsCount(params)).orElse(0L);
        QueryResultVo<List<VoClientRegisterVC>> rsVo = new QueryResultVo<>() ;
        rsVo.pageSize = qo.pageSize ;
        rsVo.pageCurr = qo.pageCurr ;
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = seVcOperateMapper.getRegisterVcClients(params);
        return rsVo ;
    }
}