kongdeqiang
2023-06-05 bb344d8e73bf3a6825f21584609649cb5d5042f5
src/main/java/com/boying/controller/phone/YCPayController.java
@@ -8,17 +8,19 @@
import com.boying.service.*;
import com.boying.util.DateUtilOther;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author kdq
@@ -32,6 +34,7 @@
@RequiredArgsConstructor
public class YCPayController {
    private final OutParkService outParkService;
    private final ParkService parkService;
    private final OrderRecordService orderRecordService;
    private final TicketService ticketService;
    private final TicketBlackService ticketBlackService;
@@ -76,25 +79,32 @@
                updateOutPark(outPark.getId(),"03");
                return R.failed("本次停车无需支付费用!");
            }else{
                if(w.getParkId()!=null){
                    if(w.getEndTime()!=null){
                        if(w.getParkId().equals(outPark.getParkId())&&System.currentTimeMillis()<w.getEndTime().getTime()){
                            updateOutPark(outPark.getId(),"03");
                            return R.failed("本次停车无需支付费用!");
                if(StringUtils.isNotBlank(w.getParkIds())){
                    if(w.getParkIds().contains(outPark.getParkId()+"")){
                        if(w.getEndTime()!=null){
                            if(System.currentTimeMillis()<w.getEndTime().getTime()){
                                updateOutPark(outPark.getId(),"03");
                                return R.failed("本次停车无需支付费用!");
                            }
                        }
                    }
                }
            }
        }
        if(outPark.getStatus() == 0){
//            return R.ok("跳转邮储支付", "https://hbfs.govpay.ccb.com/online/fssm?fee=130000000001&PyfScnCgycd=01&pyfTpcd=3&BNo="+outPark.getPayCode());
           // return R.ok("跳转邮储支付", "http://wxtest.smeia.cn/h5/?appid=CUP11234601101&params={\"payMode\":\"B\",\"payItemNo\":\"41301106100124\",\"userNo\":"+id+"}");
            return R.ok("跳转邮储支付", "http://wxtest.smeia.cn/h5/static/router.html?rurl=router&router=psbc&appid=CUP16522400671&params={\"payMode\":\"B\",\"payItemNo\":\"41301106100124\",\"userNo\":"+id+"}");
        }else if(outPark.getStatus() == 1){
        if(StringUtils.isNotBlank(outPark.getPayCode()) && outPark.getStatus() == 0){
           // "http://wxtest.smeia.cn/h5/static/router.html?rurl=router&router=psbc&appid=CUP16522400671&params={\"payMode\":\"B\",\"payItemNo\":\"41301106100124\",\"userNo\":"+id+"}"
            return R.ok("跳转邮储支付","https://openpayment.psbc.com/h5/static/router.html?rurl=router&router=psbc&appid=CUP14094502391&params={\"payMode\":\"B\",\"payItemNo\":\"41304508000500\",\"userNo\":"+id+"}");
          //  return R.ok("跳转邮储支付","http://wxtest.smeia.cn/h5/static/router.html?rurl=router&router=psbc&appid=CUP16522400671&params={\"payMode\":\"B\",\"payItemNo\":\"41301106100124\",\"userNo\":"+id+"}");
        }else if(StringUtils.isNotBlank(outPark.getPayCode()) && outPark.getStatus() == 1){
            return R.failed("已缴费");
        }
        if(StringUtils.isBlank(outPark.getPayCode())){
            addOrderRecord(outPark);
            return R.ok("跳转邮储支付","https://openpayment.psbc.com/h5/static/router.html?rurl=router&router=psbc&appid=CUP14094502391&params={\"payMode\":\"B\",\"payItemNo\":\"41304508000500\",\"userNo\":"+id+"}");
        }else {
            return R.failed("系统异常");
            return R.failed("出错");
        }
    }
@@ -125,17 +135,20 @@
    /**
     * 对账接口
     * @param checkDate,tranDate,fileName
     * @param
     * @return
     */
    @GetMapping("/checkbill")
    public Object checkbill(String checkDate,String tranDate,String fileName){
    @PostMapping ("/checkbill")
    public Object checkbill(@RequestBody Map params){
        String checkDate = (String) params.get("checkDate");
        String tranDate = (String) params.get("tranDate");
        String fileName = (String) params.get("fileName");
        checkDate=checkDate.replaceAll("-","");
        String name = "E:\\Bank_PSBC_"+checkDate+".txt";
        String name = "E:\\ycCheckBill\\Bank_PSBC_"+checkDate+".txt";
        File file = new File(name);
        Boolean aBoolean = judeFileExists(file);
        if(aBoolean){
            return R.ok();
            return R.ok(null,"查询文件成功");
        }else {
            return R.failed(null,"文件不存在");
        }
@@ -157,6 +170,8 @@
            }
            if(status.equals("03")){
                orderRecord.setStatus(1);
                //测试环境,暂时把开票设置为2
                orderRecord.setTicketStatus(2);
            }
            if(status.equals("04")||status.equals("05")||status.equals("06")){
                orderRecord.setStatus(2);
@@ -230,6 +245,39 @@
        }
    }
    //插入停车订单记录
    public void addOrderRecord(OutPark outPark){
        outPark.setPayCode(outPark.getId()+"");
        outParkService.saveOrUpdate(outPark);
        Park park = parkService.getById(outPark.getParkId());
        OrderRecord orderRecord = new OrderRecord();
        orderRecord.setAddress(park.getName());
        orderRecord.setCarNo(outPark.getCarNo());
        orderRecord.setCode(outPark.getCode());
        orderRecord.setCode2(outPark.getCode2());
        orderRecord.setMoney(outPark.getPrice());
        orderRecord.setQueryId(outPark.getId());
        orderRecord.setType(1);
        orderRecord.setTicketStatus(0);
        orderRecord.setPayCode(outPark.getPayCode());
        orderRecordService.saveOrUpdate(orderRecord);
    }
    //插入执法订单记录
    public void addOrderRecord2(Ticket ticket){
        OrderRecord orderRecord = new OrderRecord();
        orderRecord.setAddress(ticket.getAddress());
        orderRecord.setCarNo(ticket.getCarNo());
        orderRecord.setCode(ticket.getCode());
        orderRecord.setMoney(ticket.getMoney());
        orderRecord.setQueryId(ticket.getId());
        orderRecord.setType(0);
        orderRecord.setPayCode(ticket.getPayCode());
        orderRecordService.saveOrUpdate(orderRecord);
    }
    private void writeTxt( String txt)
    {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
@@ -246,4 +294,20 @@
            System.out.println("打印错误");
        }
    }
    public static void main(String[] args) {
        Path path = Paths.get("E:\\ycCheckBill\\Bank_PSBC_20350421.txt");
        try {
            List<String>  lines = Files.readAllLines(path);
            String s = lines.get(0);
            String[] split = s.split("\\|");
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}