kongdeqiang
2023-09-22 4dfd3b17483445db01c894c253a1b692f01c0067
src/main/java/com/boying/controller/phone/TicketController.java
@@ -10,15 +10,15 @@
import com.boying.entity.*;
import com.boying.service.*;
import com.boying.util.DateUtilOther;
import com.boying.util.FileUtil;
import com.boying.util.NumberToCN;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -28,10 +28,14 @@
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@RestController
@RequestMapping("ticket")
@RequestMapping("ffzf/ticket")
@RequiredArgsConstructor
public class TicketController{
@@ -49,6 +53,8 @@
    private final OrderRecordService orderRecordService;
    private final StreetLogoService streetLogoService;
    private final NowPayOrderService nowPayOrderService;
    //图片回显
    @RequestMapping(value = "/showImg", method = RequestMethod.GET)
@@ -68,23 +74,17 @@
    }
    @PostMapping("findPage")
    public Object findPage(Page page, Integer type){
        if(type==null){
            QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
            wrapper.lambda()
                    .eq(Ticket::getType,1)
                    .orderByDesc(Ticket::getId);
            return R.ok(ticketService.page(page, wrapper));
        }else{
            QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
            wrapper.lambda()
                    .eq(Ticket::getType,type)
                    .orderByDesc(Ticket::getId);
            return R.ok(ticketService.page(page, wrapper));
        }
    public Object findPage(Page page, Ticket ticket){
        QueryWrapper<Ticket> wrapper =  new QueryWrapper<>();
        wrapper.lambda()
                .like(StringUtils.isNotBlank(ticket.getCarNo()),Ticket::getCarNo,ticket.getCarNo())
                .eq(ticket.getType() != null,Ticket::getType,ticket.getType())
                .eq(ticket.getViolationTypeId() != null,Ticket::getViolationTypeId,ticket.getViolationTypeId())
                .eq(ticket.getPayStatus() != null,Ticket::getPayStatus,ticket.getPayStatus())
                .ne(Ticket::getStatus,3)
                .orderByDesc(Ticket::getCreateTime);
        return R.ok(ticketService.page(page, wrapper));
    }
    @PostMapping("/save")
    public Object save(Ticket ticket,HttpServletRequest request) throws IOException{
@@ -123,6 +123,7 @@
        }
        ticket.setStatus(1);//已处理
        ticket.setPayStatus(0);
        ticketService.saveOrUpdate(ticket);
        if(StringUtils.isBlank(ticket.getQrUrl())){
@@ -160,12 +161,74 @@
        return R.ok(ticket);
    }
    /**
     * 通过id查询票据表
     * @param id id
     * @return R
     */
    @ApiOperation(value = "通过id查询", notes = "通过id查询")
    @GetMapping("/{id}" )
    public R getById(@PathVariable("id" ) Integer id) {
        Ticket byId = ticketService.getById(id);
        byId.setContent(violationTypeService.getById(byId.getViolationTypeId()).getContent());
        String shouQianMing = byId.getShouQianMing();
        String zfQianMing1 = byId.getZfQianMing1();
        String zfQianMing2 = byId.getZfQianMing2();
        if(StringUtils.isNotBlank(shouQianMing)){
            String get = FileUtil.netSourceToBase64(shouQianMing, "GET");
            byId.setShouQianMing("data:image/png;base64,"+get);
        }
        if(StringUtils.isNotBlank(zfQianMing1)){
            String get = FileUtil.netSourceToBase64(zfQianMing1, "GET");
            byId.setZfQianMing1("data:image/png;base64,"+get);
        }
        if(StringUtils.isNotBlank(zfQianMing2)){
            String get = FileUtil.netSourceToBase64(zfQianMing2, "GET");
            byId.setZfQianMing2("data:image/png;base64,"+get);
        }
        return R.ok(byId);
    }
    @PostMapping("/delete")
    public Object delete(Long id){
        Ticket ticket =ticketService.getById(id);
        ticket.setStatus(3);
        ticketService.saveOrUpdate(ticket);
        return R.ok("操作成功");
    }
    @PostMapping("/updateById")
    public Object updateById(Ticket ticket){
        if(ticket.getMoney() >0){
            BigDecimal numberOfMoney = new BigDecimal(ticket.getMoney()+"");
            String s = NumberToCN.number2CNMontrayUnit(numberOfMoney);
            ticket.setMoneyStr(s.toString());
        }
        if(ticket.getMoney() == 0){
            if(StringUtils.isNotBlank(ticket.getNumber())){
                ticket = ticketService.getNumber(ticket);
                ticket.setPush(0);
                ticketService.uploadInfo(ticket);
            }
        }
        if(StringUtils.isBlank(ticket.getZfName1())){
            ticket.setZfName1("王俊祥");
            ticket.setZfName2("张净雷");
            ticket.setZfNum1("03041699001");
            ticket.setZfNum2("03041618001");
            ticket.setZfQianMing1("http://127.0.0.1:8089/ffzf/fileinfo/showImg/wangjunxiang.png");
            ticket.setZfQianMing2("http://127.0.0.1:8089/ffzf/fileinfo/showImg/zhangjinglei.png");
        }
        ticketService.updateById(ticket);
        return R.ok();
    }
    //与执法对接
    @GetMapping("/getResult")
    public Object getResult(Ticket ticket){
        ticketService.updateById(ticket);
        return R.ok();
    }
    public void saveLogo(String name,String lng,String lat){
@@ -190,6 +253,7 @@
            tb.setCarType(ticket.getCarType());
            tb.setColor(ticket.getColor());
            tb.setViolationCount(1);
            tb.setIsActive(0);
            ticketBlackService.saveOrUpdate(tb);
        }else {
            TicketBlack ticketBlack = all.get(0);
@@ -298,4 +362,42 @@
        }
        return R.ok(ticket);
    }
    /**
     * 手动缴费
     * @param id id
     * @return R
     */
    @ApiOperation(value = "手动缴费", notes = "手动缴费")
    @PostMapping("/jiaofei" )
    public R jiaofei(Integer id) {
        Ticket byId = ticketService.getById(id);
        if(byId.getPayStatus() == 1){
            return R.failed("此罚单已支付");
        }else if(byId.getMoney() == 0){
            return R.failed("此罚单无需缴费");
        }else {
            NowPayOrder nowPayOrder = new NowPayOrder();
            nowPayOrder.setQueryId(byId.getId());
            nowPayOrder.setType(0);
            nowPayOrder.setCarNo(byId.getCarNo());
            nowPayOrderService.saveOrder(nowPayOrder);
            return R.ok("请扫码缴费");
        }
    }
    /**
     * 测试对接
     * @param
     * @return R
     */
    @ApiOperation(value = "测试对接", notes = "测试对接")
    @GetMapping("/test" )
    public R test() {
        Ticket byId = ticketService.getById(13);
        byId = ticketService.getNumber(byId);
        byId.setPush(0);
        ticketService.uploadInfo(byId);
        return R.ok();
    }
}