wuzeyu
2024-02-27 a60332d51fec0ae9f1afecc8c7a018c77e4ac101
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -8,11 +8,9 @@
import com.dy.pipIrrGlobal.pojoBa.BaClient;
import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.util.AmountToChinese;
import com.dy.pipIrrGlobal.util.Constant;
import com.dy.pipIrrGlobal.voSe.VoActiveCard;
import com.dy.pipIrrGlobal.voSe.VoActiveCardNew;
import com.dy.pipIrrGlobal.voSe.VoRecharge;
import com.dy.pipIrrGlobal.voSe.VoReissueCard;
import com.dy.pipIrrGlobal.voSe.*;
import com.dy.pipIrrSell.cardOperate.converter.RechargeDtoMapper;
import com.dy.pipIrrSell.cardOperate.dto.*;
import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -35,6 +33,7 @@
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.time.format.DateTimeFormatter;
import java.util.*;
@@ -482,6 +481,7 @@
        seCardOperate.setClientId(clientId);
        seCardOperate.setMoney(money);
        seCardOperate.setTradeAmount(-refund);
        seCardOperate.setPaymentId(1L);
        seCardOperate.setOperateType(OperateTypeENUM.LOSS.getCode());
        seCardOperate.setRemarks(remarks);
        seCardOperate.setOperator(operator);
@@ -667,7 +667,8 @@
        seCardOperate.setCardId(cardId);
        seCardOperate.setClientId(clientId);
        seCardOperate.setMoney(money);
        seCardOperate.setNoTradeAmount(refund);
        //seCardOperate.setNoTradeAmount(refund);
        seCardOperate.setRefundAmount(refund);
        seCardOperate.setOperateType(OperateTypeENUM.REFUND.getCode());
        seCardOperate.setRemarks(remarks);
        seCardOperate.setOperator(operator);
@@ -791,13 +792,15 @@
    public BaseResponse<QueryResultVo<List<VoRecharge>>> get(QoRecharge vo){
        try {
            QueryResultVo<List<VoRecharge>> res = cardOperateSv.getRecharges(vo);
            if(res.itemTotal == 0) {
                return BaseResponseUtils.buildFail(SellResultCode.No_RECHARGES.getMessage());
            }
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取充值记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 根据指定条件获取交易明细
@@ -827,33 +830,6 @@
    /**
     * 获取交易汇总记录
     * @param vo
     * @return
     */
    @Operation(summary = "获得交易汇总记录", description = "返回交易汇总记录")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回一页农户数据(BaseResponse.content:QueryResultVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = BaClient.class))}
            )
    })
    @GetMapping(path = "getStatistics")
    @SsoAop()
    public BaseResponse<Map> getStatistics(QoTransactionStatistics vo){
        try {
            Map res = cardOperateSv.getTransactionStatistics(vo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("查询交易汇总记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 根据指定条件获取开卡记录
     * @param vo
     * @return
@@ -869,9 +845,9 @@
    })
    @GetMapping(path = "/getActiveCards")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoActiveCardNew>>> getActiveCards(QoActiveCard vo){
    public BaseResponse<QueryResultVo<List<VoActiveCard>>> getActiveCards(QoActiveCard vo){
        try {
            QueryResultVo<List<VoActiveCardNew>> res = cardOperateSv.getActiveCards(vo);
            QueryResultVo<List<VoActiveCard>> res = cardOperateSv.getActiveCards(vo);
            if(res.itemTotal == 0) {
                return BaseResponseUtils.buildFail(SellResultCode.No_ActiveCards.getMessage());
            }
@@ -881,8 +857,6 @@
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 根据指定条件获取补卡记录
@@ -913,4 +887,87 @@
        }
    }
    /**
     * 根据指定条件获取通用操作记录
     * 注销、挂失、冲正、解锁通用
     * 注销-3,挂失-6,冲正-7,解锁-8
     * @param vo
     * @return
     */
    @Operation(summary = "获取通用操作记录", description = "返回通用操作记录")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回一页开卡数据(BaseResponse.content:QueryResultVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = VoActiveCard.class))}
            )
    })
    @GetMapping(path = "/getOptions")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoOperate>>> getCommonOperations(QoCommonOperate vo){
        // 验证操作类型是否正确
        Integer operateType = Optional.ofNullable(vo.getOperateType()).orElse(0);
        if(operateType != 3 && operateType != 6 && operateType != 7 && operateType != 8) {
            return BaseResponseUtils.buildFail(SellResultCode.PARAMS_ERROR.getMessage());
        }
        try {
            QueryResultVo<List<VoOperate>> res = cardOperateSv.getCommonOperations(vo);
            if(res.itemTotal == 0) {
                return BaseResponseUtils.buildFail(SellResultCode.No_CANCELS.getMessage());
            }
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 根据指定条件获取收据列表
     * @param vo
     * @return
     */
    @Operation(summary = "获取收据记录", description = "返回收据记录")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回一页补卡数据(BaseResponse.content:QueryResultVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = VoActiveCard.class))}
            )
    })
    @GetMapping(path = "/get_receipts")
    @SsoAop()
    public BaseResponse<Map> getReceipts(QoReceipt vo){
        try {
            Map res = Optional.ofNullable(cardOperateSv.getReceipts(vo)).orElse(new HashMap());
            if(res.size() == 0) {
                return BaseResponseUtils.buildFail(SellResultCode.No_RECEIPTS.getMessage());
            }
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取电子钱包账户记录", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 金额转大写
     * @param amount
     * @return
     */
    @GetMapping(path = "/amount_to_chinese")
    public BaseResponse<Boolean> amountToChinese(BigDecimal amount) {
        try {
            AmountToChinese amountToChinese = new AmountToChinese();
            String chinese = amountToChinese.toChinese(amount);
            return BaseResponseUtils.buildSuccess(chinese) ;
        } catch (Exception e) {
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
}