You've already forked FrameTour-BE
feat(printer): 添加自定义打印图片URL功能
- 在CreateVirtualOrderRequest中新增printImgUrl字段 - 修改createVirtualOrder方法支持自定义打印图片URL参数 - 实现当提供printImgUrl时优先使用该URL进行打印 - 更新服务接口和实现类以支持新的参数传递 - 添加相应的文档注释说明新功能特性
This commit is contained in:
@@ -65,7 +65,8 @@ public class SourceController {
|
||||
request.getSourceId(),
|
||||
request.getScenicId(),
|
||||
request.getPrinterId(),
|
||||
request.getNeedEnhance()
|
||||
request.getNeedEnhance(),
|
||||
request.getPrintImgUrl()
|
||||
);
|
||||
return ApiResponse.success(result);
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -26,4 +26,9 @@ public class CreateVirtualOrderRequest {
|
||||
* 是否需要图像增强(可选,默认不增强)
|
||||
*/
|
||||
private Boolean needEnhance;
|
||||
|
||||
/**
|
||||
* 打印图片URL(可选,如果提供则使用此URL进行打印)
|
||||
*/
|
||||
private String printImgUrl;
|
||||
}
|
||||
|
||||
@@ -131,4 +131,16 @@ public interface PrinterService {
|
||||
* @return 订单信息
|
||||
*/
|
||||
Map<String, Object> createVirtualOrder(Long sourceId, Long scenicId, Integer printerId, Boolean needEnhance);
|
||||
|
||||
/**
|
||||
* 创建虚拟用户0元订单(支持图像增强选项和自定义打印图片URL)
|
||||
*
|
||||
* @param sourceId source记录ID
|
||||
* @param scenicId 景区ID
|
||||
* @param printerId 打印机ID(可选)
|
||||
* @param needEnhance 是否需要图像增强(可选)
|
||||
* @param printImgUrl 打印图片URL(可选,如果提供则使用此URL进行打印)
|
||||
* @return 订单信息
|
||||
*/
|
||||
Map<String, Object> createVirtualOrder(Long sourceId, Long scenicId, Integer printerId, Boolean needEnhance, String printImgUrl);
|
||||
}
|
||||
@@ -1638,11 +1638,16 @@ public class PrinterServiceImpl implements PrinterService {
|
||||
|
||||
@Override
|
||||
public Map<String, Object> createVirtualOrder(Long sourceId, Long scenicId, Integer printerId) {
|
||||
return createVirtualOrder(sourceId, scenicId, printerId, null);
|
||||
return createVirtualOrder(sourceId, scenicId, printerId, null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> createVirtualOrder(Long sourceId, Long scenicId, Integer printerId, Boolean needEnhance) {
|
||||
return createVirtualOrder(sourceId, scenicId, printerId, needEnhance, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> createVirtualOrder(Long sourceId, Long scenicId, Integer printerId, Boolean needEnhance, String printImgUrl) {
|
||||
// 1. 查询source记录
|
||||
SourceEntity source = sourceMapper.getEntity(sourceId);
|
||||
FaceSampleEntity faceSample = faceSampleMapper.getEntity(source.getFaceSampleId());
|
||||
@@ -1674,7 +1679,7 @@ public class PrinterServiceImpl implements PrinterService {
|
||||
log.info("创建人脸记录成功: faceId={}, virtualMemberId={}, origUrl={}", faceId, virtualMemberId, source.getUrl());
|
||||
|
||||
// 4. 创建member_print记录(参考addUserPhotoFromSource方法)
|
||||
Integer memberPrintId = addUserPhoto(virtualMemberId, scenicId, source.getUrl(), faceId, sourceId);
|
||||
Integer memberPrintId = addUserPhoto(virtualMemberId, scenicId, (printImgUrl != null && !printImgUrl.isEmpty()) ? printImgUrl : source.getUrl(), faceId, sourceId);
|
||||
if (memberPrintId == null) {
|
||||
throw new BaseException("创建member_print记录失败");
|
||||
}
|
||||
@@ -1762,3 +1767,4 @@ public class PrinterServiceImpl implements PrinterService {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user