package com.dy.pipIrrTerminal.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.voSe.VoTermActiveCard; 
 | 
import com.dy.pipIrrGlobal.voSe.VoTermCard; 
 | 
import com.dy.pipIrrGlobal.voSe.VoTermClient; 
 | 
import com.dy.pipIrrGlobal.voSe.VoTermCommon; 
 | 
import com.dy.pipIrrTerminal.card.dto.*; 
 | 
import jakarta.validation.Valid; 
 | 
import lombok.RequiredArgsConstructor; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.springframework.http.MediaType; 
 | 
import org.springframework.validation.BindingResult; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
import java.util.Objects; 
 | 
  
 | 
/** 
 | 
 * @author ZhuBaoMin 
 | 
 * @date 2025-05-08 10:15 
 | 
 * @LastEditTime 2025-05-08 10:15 
 | 
 * @Description 
 | 
 */ 
 | 
  
 | 
@Slf4j 
 | 
@RestController 
 | 
@RequestMapping(path = "card") 
 | 
@RequiredArgsConstructor 
 | 
public class CardCtrl { 
 | 
    private final CardSv cardSv; 
 | 
  
 | 
    /** 
 | 
     * 开卡(含充值) 
 | 
     * 
 | 
     * @param po 
 | 
     * @param bindingResult 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path = "termActiveCard", consumes = MediaType.APPLICATION_JSON_VALUE) 
 | 
    @SsoAop() 
 | 
    public BaseResponse<VoTermActiveCard> termActiveCard(@RequestBody @Valid ActiveCard po, BindingResult bindingResult) { 
 | 
        if (bindingResult != null && bindingResult.hasErrors()) { 
 | 
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); 
 | 
        } 
 | 
  
 | 
        Map map_result = cardSv.activeOrReissueTermCard(po); 
 | 
        if (map_result.get("success").equals(false)) { 
 | 
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString()); 
 | 
        } 
 | 
        return BaseResponseUtils.buildSuccess(map_result.get("content")); 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 充值 
 | 
     * 
 | 
     * @param po 
 | 
     * @param bindingResult 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path = "termRecharge", consumes = MediaType.APPLICATION_JSON_VALUE) 
 | 
    @SsoAop() 
 | 
    public BaseResponse<VoTermCommon> termRecharge(@RequestBody @Valid DtoRecharge po, BindingResult bindingResult) { 
 | 
        if (bindingResult != null && bindingResult.hasErrors()) { 
 | 
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); 
 | 
        } 
 | 
  
 | 
        Map map_result = cardSv.addRecharge(po, null); 
 | 
        if (map_result.get("success").equals(false)) { 
 | 
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString()); 
 | 
        } 
 | 
        return BaseResponseUtils.buildSuccess(map_result.get("content")); 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 挂失 
 | 
     * 
 | 
     * @param po 
 | 
     * @param bindingResult 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path = "termReportLoss", consumes = MediaType.APPLICATION_JSON_VALUE) 
 | 
    @SsoAop() 
 | 
    public BaseResponse<Boolean> termReportLoss(@RequestBody @Valid DtoLoss po, BindingResult bindingResult) { 
 | 
        if (bindingResult != null && bindingResult.hasErrors()) { 
 | 
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); 
 | 
        } 
 | 
  
 | 
        Map map_result = cardSv.reportLoss(po); 
 | 
        if (map_result.get("success").equals(false)) { 
 | 
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString()); 
 | 
        } 
 | 
        return BaseResponseUtils.buildSuccess(map_result.get("content")); 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 解锁 
 | 
     * 
 | 
     * @param po 
 | 
     * @param bindingResult 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path = "termUnlock", consumes = MediaType.APPLICATION_JSON_VALUE) 
 | 
    @SsoAop() 
 | 
    public BaseResponse<Boolean> termUnlock(@RequestBody @Valid DtoUnlock po, BindingResult bindingResult) { 
 | 
        if (bindingResult != null && bindingResult.hasErrors()) { 
 | 
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); 
 | 
        } 
 | 
  
 | 
        Map map_result = cardSv.unlock(po); 
 | 
        if (map_result.get("success").equals(false)) { 
 | 
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString()); 
 | 
        } 
 | 
        return BaseResponseUtils.buildSuccess(map_result.get("content")); 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 补卡 
 | 
     * 
 | 
     * @param po 
 | 
     * @param bindingResult 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path = "termReissue", consumes = MediaType.APPLICATION_JSON_VALUE) 
 | 
    @SsoAop() 
 | 
    public BaseResponse<VoTermCommon> termReissue(@RequestBody @Valid DtoReissue po, BindingResult bindingResult) { 
 | 
        if (bindingResult != null && bindingResult.hasErrors()) { 
 | 
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); 
 | 
        } 
 | 
  
 | 
        Map map_result = cardSv.reissue(po); 
 | 
        if (map_result.get("success").equals(false)) { 
 | 
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString()); 
 | 
        } 
 | 
        return BaseResponseUtils.buildSuccess(map_result.get("content")); 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 销卡 
 | 
     * 
 | 
     * @param po 
 | 
     * @param bindingResult 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path = "termCancel", consumes = MediaType.APPLICATION_JSON_VALUE) 
 | 
    @SsoAop() 
 | 
    public BaseResponse<VoTermCommon> termCancel(@RequestBody @Valid DtoCancel po, BindingResult bindingResult) { 
 | 
        if (bindingResult != null && bindingResult.hasErrors()) { 
 | 
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); 
 | 
        } 
 | 
  
 | 
        Map map_result = cardSv.cancel(po); 
 | 
        if (map_result.get("success").equals(false)) { 
 | 
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString()); 
 | 
        } 
 | 
        return BaseResponseUtils.buildSuccess(map_result.get("content")); 
 | 
  
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 操作执行回调 
 | 
     * 
 | 
     * @param po 
 | 
     * @param bindingResult 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path = "termCallBack", consumes = MediaType.APPLICATION_JSON_VALUE) 
 | 
    @SsoAop() 
 | 
    public BaseResponse<Boolean> termCallBack(@RequestBody @Valid DtoCallBack po, BindingResult bindingResult) { 
 | 
        if (bindingResult != null && bindingResult.hasErrors()) { 
 | 
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); 
 | 
        } 
 | 
  
 | 
        Map map_result = cardSv.callBack(po); 
 | 
        if (map_result.get("success").equals(false)) { 
 | 
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString()); 
 | 
        } 
 | 
        return BaseResponseUtils.buildSuccess(map_result.get("content")); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 读取卡信息 
 | 
     * @param cardAddr 
 | 
     * @return 
 | 
     */ 
 | 
    @GetMapping(path = "readCard") 
 | 
    @SsoAop() 
 | 
    public BaseResponse<VoTermCard> readCard(@RequestParam String cardAddr){ 
 | 
        try { 
 | 
            return BaseResponseUtils.buildSuccess(cardSv.readCard(cardAddr)); 
 | 
        } catch (Exception e) { 
 | 
            log.error("查询农户异常", e); 
 | 
            return BaseResponseUtils.buildException(e.getMessage()) ; 
 | 
        } 
 | 
    } 
 | 
  
 | 
} 
 |