liurunyu
2025-01-09 f7b2aa672c00c2c35b08cdf19b8fa4bcad6df59d
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/VirtualCardCtrl.java
@@ -1,9 +1,23 @@
package com.dy.pipIrrStatistics.card;
import com.dy.common.aop.SsoAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.voSt.VoClientStatistics;
import com.dy.pipIrrStatistics.card.qo.CommonQO;
import com.dy.pipIrrStatistics.card.qo.StartStopDateQO;
import com.dy.pipIrrStatistics.card.qo.TotalRechargeQO;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Objects;
/**
 * @author ZhuBaoMin
@@ -19,4 +33,103 @@
public class VirtualCardCtrl {
    private final VirtualCardSv virtualCardSv;
    /**
     * 指定时间段内注册虚拟卡的农户
     * @param qo
     * @param bindingResult
     * @return
     */
    @GetMapping(path = "/getRegisterVcClients")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoClientStatistics>>> getRegisterVcClients(@Valid CommonQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(virtualCardSv.getRegisterVcClients(qo));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 指定时间段内注册总数量
     * @param qo
     * @param bindingResult
     * @return
     */
    @GetMapping(path = "/getRegisterCount")
    @SsoAop()
    public BaseResponse<Boolean> getRegisterCount(@Valid StartStopDateQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(virtualCardSv.getRegisterCount(qo));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 指定时间段充值总数量
     * @param qo
     * @param bindingResult
     * @return
     */
    @GetMapping(path = "/getRechargeCount")
    @SsoAop()
    public BaseResponse<Boolean> getRechargeCount(@Valid StartStopDateQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(virtualCardSv.getRechargeCount(qo));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 当前余额总量
     * @return
     */
    @GetMapping(path = "/getTotalBalance")
    @SsoAop()
    public BaseResponse<Boolean> getTotalBalance() {
        try {
            return BaseResponseUtils.buildSuccess(virtualCardSv.getTotalBalance());
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 指定时间段内虚拟卡充值金额超过指定值的农户
     * @param qo
     * @param bindingResult
     * @return
     */
    @GetMapping(path = "/getLargeRechargeClients")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoClientStatistics>>> getLargeRechargeClients(@Valid TotalRechargeQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(virtualCardSv.getLargeRechargeClients(qo));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
}