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 
 | 
 * @date 2024-08-08 9:13 
 | 
 * @LastEditTime 2024-08-08 9:13 
 | 
 * @Description 
 | 
 */ 
 | 
  
 | 
@Slf4j 
 | 
@RestController 
 | 
@RequestMapping(path="virtual-card") 
 | 
@RequiredArgsConstructor 
 | 
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()) ; 
 | 
        } 
 | 
    } 
 | 
} 
 |