kongdeqiang
2024-04-09 fb050c0dafa5363a73540dd9e52b78487e25ba0a
src/main/java/com/boying/controller/phone/PayController.java
@@ -16,6 +16,7 @@
import com.boying.util.HTTPEntityUtil;
import com.google.gson.Gson;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.PostMapping;
@@ -50,9 +51,11 @@
    private final TicketService ticketService;
    private final TicketBlackService ticketBlackService;
    private final OutParkService outParkService;
    @Autowired
    private final SystemConfigProperties systemConfigProperties;
    private final ParkService parkService;
    private final WhiteListService whiteListService;
    private final NowPayOrderService nowPayOrderService;
    static String payKey = "df937eda27cb4a59a12347966678e232";
    static String paySecret = "9e3b2f387b5b4232a9c782affc9c36ed";
@@ -381,11 +384,31 @@
    }
    /**
     * 获取执法id
     */
    @PostMapping("getZhifaId")
    public Object getZhifaId(){
        QueryWrapper<NowPayOrder> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(NowPayOrder::getType,0)
                .orderByDesc(NowPayOrder::getCreateTime)
                .last(" limit 1");
        NowPayOrder one = nowPayOrderService.getOne(wrapper);
        if(one == null){
            return R.failed(null,"暂无缴费项目");
        }else {
            return R.ok(ticketService.getById(one.getQueryId()));
        }
    }
    /**
     * 缴款书
     */
    @PostMapping("zhifa")
    public Object zhifa(Long id){
        System.out.println(id+"开始缴费");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");
        String logs = sdf.format(new Date())+"开始扫码缴费------》\n";
        logs += "罚单表id为:"+id+",\n";
@@ -396,9 +419,9 @@
            writeTxt(logs);
            return R.failed("本罚单无需支付费用");
        }
        if(StringUtils.isNotBlank(ticket.getPayCode()) && ticket.getStatus() == 0){
        if(StringUtils.isNotBlank(ticket.getPayCode()) && ticket.getPayStatus() == 0){
            return R.ok("生成电子罚单缴款码", "https://hbfs.govpay.ccb.com/online/fssm?fee=130000000001&PyfScnCgycd=01&pyfTpcd=3&BNo="+ticket.getPayCode());
        }else if(StringUtils.isNotBlank(ticket.getPayCode()) && ticket.getStatus() == 1){
        }else if(StringUtils.isNotBlank(ticket.getPayCode()) && ticket.getPayStatus() == 1){
            return R.failed("已缴费");
        }
        if(StringUtils.isBlank(ticket.getPayCode())){
@@ -462,6 +485,7 @@
            addOrderRecord2(ticket);
            return payurl+eticketnum;
        }else {
            System.out.println("支付申请缴款码返回为:"+entity);
            return null;
        }
    }
@@ -518,6 +542,12 @@
            if(status.equals("03")){
                ticket.setPayStatus(1);
                dealCar(ticket.getCarNo());
                if(StringUtils.isBlank(ticket.getNumber()) || "--".equals(ticket.getNumber())){
                    ticket = ticketService.getNumber(ticket);
                    ticket.setPush(0);
                    ticketService.uploadInfo(ticket);
                    return;
                }
            }
            if(status.equals("04")||status.equals("05")||status.equals("06")){
                ticket.setPayStatus(2);
@@ -539,9 +569,13 @@
            wrapper1.lambda()
                    .eq(TicketBlack::getCarNo,carNo);
            List<TicketBlack> all = ticketBlackService.list(wrapper1);
            for(TicketBlack ticketBlack:all){
                ticketBlack.setStatus(1);
                ticketBlack.setBlackType(0);
            if(all.size()>0){
                TicketBlack ticketBlack = all.get(0);
                ticketBlack.setViolationCount(ticketBlack.getViolationCount() == 0?0:ticketBlack.getViolationCount() - 1);
                if(ticketBlack.getIsActive() == 0){
                    ticketBlack.setStatus(1);
                    ticketBlack.setBlackType(0);
                }
                ticketBlackService.saveOrUpdate(ticketBlack);
            }
        }