二维码接口优化

This commit is contained in:
dzl 2025-05-27 17:33:32 +08:00
parent 9ef7dd6f0a
commit 2031367a21
12 changed files with 226 additions and 36 deletions

View File

@ -3,6 +3,7 @@ package com.cdzy.ebikeoperate.controller;
import com.cdzy.common.model.JsonResult; import com.cdzy.common.model.JsonResult;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBatteryQrcodeBatchDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBatteryQrcodeBatchDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBatteryQrcodeDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBatteryQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeBatteryQrcodeDto;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -101,7 +102,7 @@ public class EbikeBatteryQrcodeController {
*/ */
@PostMapping("list") @PostMapping("list")
public JsonResult<?> list(@RequestBody ReqEbikeBatteryQrcodeDto reqEbikeBatteryQrcodeDto) { public JsonResult<?> list(@RequestBody ReqEbikeBatteryQrcodeDto reqEbikeBatteryQrcodeDto) {
Page<EbikeBatteryQrcode> pageRecords = ebikeBatteryQrcodeService.getPageRecords(reqEbikeBatteryQrcodeDto); Page<EbikeBatteryQrcodeDto> pageRecords = ebikeBatteryQrcodeService.getPageRecords(reqEbikeBatteryQrcodeDto);
return JsonResult.success(pageRecords); return JsonResult.success(pageRecords);
} }
/** /**

View File

@ -3,6 +3,7 @@ package com.cdzy.ebikeoperate.controller;
import com.cdzy.common.model.JsonResult; import com.cdzy.common.model.JsonResult;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBikeQrcodeBatchDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBikeQrcodeBatchDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBikeQrcodeDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBikeQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeBikeQrcodeDto;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -102,7 +103,7 @@ public class EbikeBikeQrcodeController {
*/ */
@PostMapping("list") @PostMapping("list")
public JsonResult<?> list(@RequestBody ReqEbikeBikeQrcodeDto reqEbikeBikeQrcodeDto) { public JsonResult<?> list(@RequestBody ReqEbikeBikeQrcodeDto reqEbikeBikeQrcodeDto) {
Page<EbikeBikeQrcode> pageRecords = ebikeBikeQrcodeService.getPageRecords(reqEbikeBikeQrcodeDto); Page<EbikeBikeQrcodeDto> pageRecords = ebikeBikeQrcodeService.getPageRecords(reqEbikeBikeQrcodeDto);
return JsonResult.success(pageRecords); return JsonResult.success(pageRecords);
} }
/** /**

View File

@ -3,6 +3,7 @@ package com.cdzy.ebikeoperate.controller;
import com.cdzy.common.model.JsonResult; import com.cdzy.common.model.JsonResult;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeHelmetQrcodeBatchDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeHelmetQrcodeBatchDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeHelmetQrcodeDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeHelmetQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeHelmetQrcodeDto;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -99,7 +100,7 @@ public class EbikeHelmetQrcodeController {
*/ */
@PostMapping("list") @PostMapping("list")
public JsonResult<?> list(@RequestBody ReqEbikeHelmetQrcodeDto reqEbikeHelmetQrcodeDto) { public JsonResult<?> list(@RequestBody ReqEbikeHelmetQrcodeDto reqEbikeHelmetQrcodeDto) {
Page<EbikeHelmetQrcode> pageRecords = ebikeHelmetQrcodeService.getPageRecords(reqEbikeHelmetQrcodeDto); Page<EbikeHelmetQrcodeDto> pageRecords = ebikeHelmetQrcodeService.getPageRecords(reqEbikeHelmetQrcodeDto);
return JsonResult.success(pageRecords); return JsonResult.success(pageRecords);
} }
/** /**

View File

@ -0,0 +1,51 @@
package com.cdzy.ebikeoperate.model.dto.response;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 电池二维码 实体类
*
* @author dingchao
* @since 2025-03-25
*/
@Data
public class EbikeBatteryQrcodeDto implements Serializable {
private String batteryCodeId;
/**
* 部件生产记录主键
*/
private String componentProId;
/**
* 电池编号
*/
private String batteryCode;
/**
* 状态; 0未绑定1已绑定
*/
private String state;
/**
* 绑定时间
*/
private LocalDateTime boundTime;
/**
* 绑定人
*/
private String operator;
/**
* 二维码base64数据
*/
private String base64QrCode;
}

View File

@ -0,0 +1,52 @@
package com.cdzy.ebikeoperate.model.dto.response;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 车辆二维码 实体类
*
* @author dingchao
* @since 2025-03-25
*/
@Data
public class EbikeBikeQrcodeDto implements Serializable {
private String bikeQrcodeId;
/**
* 部件生产记录主键
*/
private String componentProId;
/**
* 车辆编号
*/
private String bikeCode;
/**
* 状态; 0未绑定1已绑定
*/
private String state;
/**
* 绑定时间
*/
private LocalDateTime boundTime;
/**
* 绑定人
*/
private String operator;
/**
* 二维码base64数据
*/
private String base64QrCode;
}

View File

@ -0,0 +1,52 @@
package com.cdzy.ebikeoperate.model.dto.response;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 头盔二维码 实体类
*
* @author dingchao
* @since 2025-03-25
*/
@Data
public class EbikeHelmetQrcodeDto implements Serializable {
private String helmetCodeId;
/**
* 部件生产记录主键
*/
private String componentProId;
/**
* 头盔编号
*/
private String helmetCode;
/**
* 状态; 0未绑定1已绑定
*/
private String state;
/**
* 绑定时间
*/
private LocalDateTime boundTime;
/**
* 绑定人
*/
private String operator;
/**
* 二维码base64数据
*/
private String base64QrCode;
}

View File

@ -1,6 +1,7 @@
package com.cdzy.ebikeoperate.service; package com.cdzy.ebikeoperate.service;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBatteryQrcodeDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBatteryQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeBatteryQrcodeDto;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService; import com.mybatisflex.core.service.IService;
import com.cdzy.ebikeoperate.model.pojo.EbikeBatteryQrcode; import com.cdzy.ebikeoperate.model.pojo.EbikeBatteryQrcode;
@ -18,5 +19,5 @@ public interface EbikeBatteryQrcodeService extends IService<EbikeBatteryQrcode>
* @param reqEbikeBatteryQrcodeDto 电池二维码查询请求 * @param reqEbikeBatteryQrcodeDto 电池二维码查询请求
* @return 电池二维码分页数据 * @return 电池二维码分页数据
*/ */
Page<EbikeBatteryQrcode> getPageRecords(ReqEbikeBatteryQrcodeDto reqEbikeBatteryQrcodeDto); Page<EbikeBatteryQrcodeDto> getPageRecords(ReqEbikeBatteryQrcodeDto reqEbikeBatteryQrcodeDto);
} }

View File

@ -1,6 +1,7 @@
package com.cdzy.ebikeoperate.service; package com.cdzy.ebikeoperate.service;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBikeQrcodeDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBikeQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeBikeQrcodeDto;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService; import com.mybatisflex.core.service.IService;
import com.cdzy.ebikeoperate.model.pojo.EbikeBikeQrcode; import com.cdzy.ebikeoperate.model.pojo.EbikeBikeQrcode;
@ -18,6 +19,6 @@ public interface EbikeBikeQrcodeService extends IService<EbikeBikeQrcode> {
* @param reqEbikeBikeQrcodeDto 分页查询条件 * @param reqEbikeBikeQrcodeDto 分页查询条件
* @return 分页对象 * @return 分页对象
*/ */
Page<EbikeBikeQrcode> getPageRecords(ReqEbikeBikeQrcodeDto reqEbikeBikeQrcodeDto); Page<EbikeBikeQrcodeDto> getPageRecords(ReqEbikeBikeQrcodeDto reqEbikeBikeQrcodeDto);
} }

View File

@ -1,6 +1,7 @@
package com.cdzy.ebikeoperate.service; package com.cdzy.ebikeoperate.service;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeHelmetQrcodeDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeHelmetQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeHelmetQrcodeDto;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService; import com.mybatisflex.core.service.IService;
import com.cdzy.ebikeoperate.model.pojo.EbikeHelmetQrcode; import com.cdzy.ebikeoperate.model.pojo.EbikeHelmetQrcode;
@ -18,5 +19,5 @@ public interface EbikeHelmetQrcodeService extends IService<EbikeHelmetQrcode> {
* @param reqEbikeHelmetQrcodeDto 头盔二维码查询对象 * @param reqEbikeHelmetQrcodeDto 头盔二维码查询对象
* @return 分页结果 * @return 分页结果
*/ */
Page<EbikeHelmetQrcode> getPageRecords(ReqEbikeHelmetQrcodeDto reqEbikeHelmetQrcodeDto); Page<EbikeHelmetQrcodeDto> getPageRecords(ReqEbikeHelmetQrcodeDto reqEbikeHelmetQrcodeDto);
} }

View File

@ -1,6 +1,9 @@
package com.cdzy.ebikeoperate.service.impl; package com.cdzy.ebikeoperate.service.impl;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBatteryQrcodeDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBatteryQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeBatteryQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeHelmetQrcodeDto;
import com.cdzy.ebikeoperate.utils.QRGenUtil;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl; import com.mybatisflex.spring.service.impl.ServiceImpl;
@ -11,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeBatteryQrcodeTableDef.EBIKE_BATTERY_QRCODE; import static com.cdzy.ebikeoperate.model.pojo.table.EbikeBatteryQrcodeTableDef.EBIKE_BATTERY_QRCODE;
@ -27,7 +31,7 @@ public class EbikeBatteryQrcodeServiceImpl extends ServiceImpl<EbikeBatteryQrcod
private EbikeBatteryQrcodeMapper ebikeBatteryQrcodeMapper; private EbikeBatteryQrcodeMapper ebikeBatteryQrcodeMapper;
@Override @Override
public Page<EbikeBatteryQrcode> getPageRecords(ReqEbikeBatteryQrcodeDto reqEbikeBatteryQrcodeDto) { public Page<EbikeBatteryQrcodeDto> getPageRecords(ReqEbikeBatteryQrcodeDto reqEbikeBatteryQrcodeDto) {
QueryWrapper query = QueryWrapper.create(); QueryWrapper query = QueryWrapper.create();
String componentId = reqEbikeBatteryQrcodeDto.getComponentProId(); String componentId = reqEbikeBatteryQrcodeDto.getComponentProId();
if (componentId != null && !componentId.isEmpty()) if (componentId != null && !componentId.isEmpty())
@ -47,7 +51,13 @@ public class EbikeBatteryQrcodeServiceImpl extends ServiceImpl<EbikeBatteryQrcod
String operator = reqEbikeBatteryQrcodeDto.getOperator(); String operator = reqEbikeBatteryQrcodeDto.getOperator();
if (operator != null && !operator.isEmpty()) if (operator != null && !operator.isEmpty())
query.where(EBIKE_BATTERY_QRCODE.OPERATOR.like(operator)); query.where(EBIKE_BATTERY_QRCODE.OPERATOR.like(operator));
Page<EbikeBatteryQrcode> page = reqEbikeBatteryQrcodeDto.getPageParam().getPage(); Page<EbikeBatteryQrcodeDto> page = reqEbikeBatteryQrcodeDto.getPageParam().getPage();
return ebikeBatteryQrcodeMapper.paginate(page, query); Page<EbikeBatteryQrcodeDto> paginate = ebikeBatteryQrcodeMapper.paginateAs(page, query, EbikeBatteryQrcodeDto.class);
List<EbikeBatteryQrcodeDto> records = paginate.getRecords();
for (EbikeBatteryQrcodeDto record : records) {
String s = QRGenUtil.generateQRCodeBase64(record.getBatteryCode(), record.getBatteryCode());
record.setBase64QrCode("data:image/png;base64," + s);
}
return paginate;
} }
} }

View File

@ -1,6 +1,9 @@
package com.cdzy.ebikeoperate.service.impl; package com.cdzy.ebikeoperate.service.impl;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBikeQrcodeDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeBikeQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeBatteryQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeBikeQrcodeDto;
import com.cdzy.ebikeoperate.utils.QRGenUtil;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl; import com.mybatisflex.spring.service.impl.ServiceImpl;
@ -11,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeBikeQrcodeTableDef.EBIKE_BIKE_QRCODE; import static com.cdzy.ebikeoperate.model.pojo.table.EbikeBikeQrcodeTableDef.EBIKE_BIKE_QRCODE;
@ -27,7 +31,7 @@ public class EbikeBikeQrcodeServiceImpl extends ServiceImpl<EbikeBikeQrcodeMappe
private EbikeBikeQrcodeMapper ebikeBikeQrcodeMapper; private EbikeBikeQrcodeMapper ebikeBikeQrcodeMapper;
@Override @Override
public Page<EbikeBikeQrcode> getPageRecords(ReqEbikeBikeQrcodeDto reqEbikeBikeQrcodeDto) { public Page<EbikeBikeQrcodeDto> getPageRecords(ReqEbikeBikeQrcodeDto reqEbikeBikeQrcodeDto) {
QueryWrapper query = QueryWrapper.create(); QueryWrapper query = QueryWrapper.create();
String componentId = reqEbikeBikeQrcodeDto.getComponentProId(); String componentId = reqEbikeBikeQrcodeDto.getComponentProId();
if (componentId != null && !componentId.isEmpty()) if (componentId != null && !componentId.isEmpty())
@ -47,7 +51,13 @@ public class EbikeBikeQrcodeServiceImpl extends ServiceImpl<EbikeBikeQrcodeMappe
String operator = reqEbikeBikeQrcodeDto.getOperator(); String operator = reqEbikeBikeQrcodeDto.getOperator();
if (operator != null && !operator.isEmpty()) if (operator != null && !operator.isEmpty())
query.where(EBIKE_BIKE_QRCODE.OPERATOR.like(operator)); query.where(EBIKE_BIKE_QRCODE.OPERATOR.like(operator));
Page<EbikeBikeQrcode> page = reqEbikeBikeQrcodeDto.getPageParam().getPage(); Page<EbikeBikeQrcodeDto> page = reqEbikeBikeQrcodeDto.getPageParam().getPage();
return ebikeBikeQrcodeMapper.paginate(page, query); Page<EbikeBikeQrcodeDto> paginate = ebikeBikeQrcodeMapper.paginateAs(page, query, EbikeBikeQrcodeDto.class);
List<EbikeBikeQrcodeDto> records = paginate.getRecords();
for (EbikeBikeQrcodeDto record : records) {
String s = QRGenUtil.generateQRCodeBase64("https://yrenyche-qrcode.36bike.com/?number=" + record.getBikeCode() + "&_tbScancodeApproach_=scan", record.getBikeCode());
record.setBase64QrCode("data:image/png;base64," + s);
}
return paginate;
} }
} }

View File

@ -1,6 +1,8 @@
package com.cdzy.ebikeoperate.service.impl; package com.cdzy.ebikeoperate.service.impl;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeHelmetQrcodeDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeHelmetQrcodeDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeHelmetQrcodeDto;
import com.cdzy.ebikeoperate.utils.QRGenUtil;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl; import com.mybatisflex.spring.service.impl.ServiceImpl;
@ -11,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeHelmetQrcodeTableDef.EBIKE_HELMET_QRCODE; import static com.cdzy.ebikeoperate.model.pojo.table.EbikeHelmetQrcodeTableDef.EBIKE_HELMET_QRCODE;
@ -27,7 +30,7 @@ public class EbikeHelmetQrcodeServiceImpl extends ServiceImpl<EbikeHelmetQrcodeM
private EbikeHelmetQrcodeMapper ebikeHelmetQrcodeMapper; private EbikeHelmetQrcodeMapper ebikeHelmetQrcodeMapper;
@Override @Override
public Page<EbikeHelmetQrcode> getPageRecords(ReqEbikeHelmetQrcodeDto reqEbikeHelmetQrcodeDto) { public Page<EbikeHelmetQrcodeDto> getPageRecords(ReqEbikeHelmetQrcodeDto reqEbikeHelmetQrcodeDto) {
QueryWrapper query = QueryWrapper.create(); QueryWrapper query = QueryWrapper.create();
String componentId = reqEbikeHelmetQrcodeDto.getComponentProId(); String componentId = reqEbikeHelmetQrcodeDto.getComponentProId();
if (componentId != null && !componentId.isEmpty()) if (componentId != null && !componentId.isEmpty())
@ -47,7 +50,13 @@ public class EbikeHelmetQrcodeServiceImpl extends ServiceImpl<EbikeHelmetQrcodeM
String operator = reqEbikeHelmetQrcodeDto.getOperator(); String operator = reqEbikeHelmetQrcodeDto.getOperator();
if (operator != null && !operator.isEmpty()) if (operator != null && !operator.isEmpty())
query.where(EBIKE_HELMET_QRCODE.OPERATOR.like(operator)); query.where(EBIKE_HELMET_QRCODE.OPERATOR.like(operator));
Page<EbikeHelmetQrcode> page = reqEbikeHelmetQrcodeDto.getPageParam().getPage(); Page<EbikeHelmetQrcodeDto> page = reqEbikeHelmetQrcodeDto.getPageParam().getPage();
return ebikeHelmetQrcodeMapper.paginate(page, query); Page<EbikeHelmetQrcodeDto> paginate = ebikeHelmetQrcodeMapper.paginateAs(page, query, EbikeHelmetQrcodeDto.class);
List<EbikeHelmetQrcodeDto> records = paginate.getRecords();
for (EbikeHelmetQrcodeDto record : records) {
String s = QRGenUtil.generateQRCodeBase64(record.getHelmetCode(), record.getHelmetCode());
record.setBase64QrCode("data:image/png;base64," + s);
}
return paginate;
} }
} }