| 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<QueryResultVo<List<VoICCard>>> getOpenCountIcCards(CommonQO qo) { | 
|         try { | 
|              QueryResultVo<List<VoICCard>> 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<QueryResultVo<List<VoICCard>>> getLossCountIcCards(CommonQO qo) { | 
|         try { | 
|             QueryResultVo<List<VoICCard>> 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<QueryResultVo<List<VoICCard>>> getRechargeCountIcCards(CommonQO qo) { | 
|         try { | 
|             QueryResultVo<List<VoICCard>> 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<Double> 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<QueryResultVo<List<VoCardUsage>>> 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<Map> 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()) ; | 
|         } | 
|     } | 
| } |