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.VoCardUsage; import com.dy.pipIrrGlobal.voSt.VoICCard; import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO; import com.dy.pipIrrStatistics.card.qo.CardUsageQO; 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.Map; import java.util.Objects; /** * @author ZhuBaoMin * @date 2024-08-08 9:09 * @LastEditTime 2024-08-08 9:09 * @Description */ @Slf4j @RestController @RequestMapping(path = "ic-card") @RequiredArgsConstructor public class IcCardCtrl { private final IcCardSv icCardSv; /** * 指定时间段内开卡总数量(物理卡) * * @param qo * @return */ @GetMapping(path = "/getOpenCountIcCards") @SsoAop() public BaseResponse>> getOpenCountIcCards(CommonQO qo) { try { QueryResultVo> res = icCardSv.getOpenCountIcCards(qo); return BaseResponseUtils.buildSuccess(res); }catch (Exception e){ log.error("获取记录异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } /** * 指定时间段内挂失总数量(物理卡) * * @param qo * @return */ @GetMapping(path = "/getLossCountIcCards") @SsoAop() public BaseResponse>> getLossCountIcCards(CommonQO qo) { try { QueryResultVo> res = icCardSv.getLossCountIcCards(qo); return BaseResponseUtils.buildSuccess(res); }catch (Exception e){ log.error("获取记录异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } /** * 指定时间段内充值总数量(物理卡) * * @param qo * @return */ @GetMapping(path = "/getRechargeCountIcCards") @SsoAop() public BaseResponse>> getRechargeCountIcCards(CommonQO qo) { try { QueryResultVo> res = icCardSv.getRechargeCountIcCards(qo); return BaseResponseUtils.buildSuccess(res); }catch (Exception e){ log.error("获取记录异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } /** * 当前余额总量(物理卡) * * @param * @return */ @GetMapping(path = "/getTotalMoneyIcCards") @SsoAop() public BaseResponse getTotalMoneyIcCards() { try { Double res = icCardSv.getTotalMoneyIcCards(); return BaseResponseUtils.buildSuccess(res); }catch (Exception e){ log.error("获取记录异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } /** * 获取指定时间段水卡使用情况:充值合计、消费合计、余额 * @param qo //* @param bindingResult * @return */ @GetMapping(path = "/card_usage") @SsoAop() public BaseResponse>> getCardUsages(@Valid CardUsageQO qo, BindingResult bindingResult) { if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } try { return BaseResponseUtils.buildSuccess(icCardSv.getCardUsages(qo)); } catch (Exception e) { log.error("获取开卡记录异常", e); return BaseResponseUtils.buildException(e.getMessage()) ; } } /** * 获取售水总计信息:充值金额总计、水表消费金额总计 * @param qo * @param bindingResult * @return */ @GetMapping(path = "/total_water_use") @SsoAop() public BaseResponse getTotalWaterUse(@Valid CardUsageQO qo, BindingResult bindingResult) { if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } try { return BaseResponseUtils.buildSuccess(icCardSv.getTotalWaterUse(qo)); } catch (Exception e) { log.error("获取开卡记录异常", e); return BaseResponseUtils.buildException(e.getMessage()) ; } } }