feat:硬件核销相关

This commit is contained in:
dzc committed 2026-01-30 15:24:52 +08:00
1 parent 255b88a948
commit a2623df7e2
19 files changed
+455 -37

No files matched your search

@@ -0,0 +1,18 @@
package com.bsd.pjcloud.hard.api.dto.hard;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class HandCancelActCodeDto {
@Schema(description = "核销活动i子d")
@NotNull(message = "核销活动子id不能为空")
private Long actItemId;
@Schema(description = "设备id")
@NotNull(message = "设备id不能为空")
private Long hardwareId;
}
@@ -9,10 +9,7 @@ import com.bsd.pjcloud.hard.api.constant.HardProductNatureEnum;
import com.bsd.pjcloud.hard.api.constant.HardTypeEnum;
import com.bsd.pjcloud.hard.api.constant.order.HardPayTypeEnum;
import com.bsd.pjcloud.hard.api.dto.async.SyncOfflineReqVo;
import com.bsd.pjcloud.hard.api.dto.hard.HandCancelCodeDto;
import com.bsd.pjcloud.hard.api.dto.hard.HardBindDto;
import com.bsd.pjcloud.hard.api.dto.hard.HardCreateOrderDto;
import com.bsd.pjcloud.hard.api.dto.hard.HardDoneHardQrCodeScanOrderDto;
import com.bsd.pjcloud.hard.api.dto.hard.*;
import com.bsd.pjcloud.hard.api.dto.order.HardChartLatitudeVo;
import com.bsd.pjcloud.hard.api.dto.order.HardCreateCarDto;
import com.bsd.pjcloud.hard.api.vo.HardInvoiceVo;
@@ -121,7 +118,7 @@ public class HardApiController {
@PostMapping("/cancel-code")
@Operation(summary = "核销二维码")
@Idempotent(expireTime = 10, info = "正在核销中,请勿重复操作")
@Idempotent(expireTime = 10, key = "'/hard-api/ad/cancel-code' + #dto.getOrderId() ", info = "正在核销中,请勿重复操作")
public R<Boolean> handCancelCode(@RequestBody HandCancelCodeDto dto) {
if (!ObjectUtil.isAllNotEmpty(dto.getOrderId(), dto.getHardwareId())) {
throw new RuntimeException("参数不正确");
@@ -129,6 +126,13 @@ public class HardApiController {
return R.ok(hardwareOrderService.handCancelCode(dto));
}
@PostMapping("/cancel-act-code")
@Operation(summary = "核销二维码")
@Idempotent(expireTime = 10, key = "'/hard-api/ad/cancel-act-code' + #dto.getActItemId() ", info = "正在核销中,请勿重复操作")
public R<Boolean> handCancelActCode(@Validated @RequestBody HandCancelActCodeDto dto) {
return R.ok(hardwareOrderService.handCancelActCode(dto));
}
@GetMapping("/generate-invoice")
@Operation(summary = "生成发票")
@Idempotent(expireTime = 10, info = "正在生成中,请勿重复操作")
@@ -10,6 +10,7 @@ import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.common.security.service.PjcloudUser;
import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum;
import com.bsd.pjcloud.hard.api.constant.order.HardPayTypeEnum;
import com.bsd.pjcloud.hard.api.dto.hard.HandCancelActCodeDto;
import com.bsd.pjcloud.hard.api.dto.hard.HandCancelCodeDto;
import com.bsd.pjcloud.hard.api.dto.hard.HardCreateOrderDto;
import com.bsd.pjcloud.hard.api.dto.hard.HardDoneHardQrCodeScanOrderDto;
@@ -142,6 +143,11 @@ public interface HardOrderService extends IService<HardOrderEntity> {
*/
Boolean handCancelCode(HandCancelCodeDto dto);
/**
* 核销活动二维码
*/
Boolean handCancelActCode(HandCancelActCodeDto dto);
/**
* 创建订单后发送mq消息
*/
@@ -151,5 +157,4 @@ public interface HardOrderService extends IService<HardOrderEntity> {
* 是否需要支付
*/
boolean isPay(HardOrderTypeEnum type, HardPayTypeEnum payType);
}
@@ -38,6 +38,7 @@ import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum;
import com.bsd.pjcloud.hard.api.constant.order.HardPayTypeEnum;
import com.bsd.pjcloud.hard.api.dto.ali.AliMicropayDto;
import com.bsd.pjcloud.hard.api.dto.ali.AliReverseDto;
import com.bsd.pjcloud.hard.api.dto.hard.HandCancelActCodeDto;
import com.bsd.pjcloud.hard.api.dto.hard.HardDoneHardQrCodeScanOrderDto;
import com.bsd.pjcloud.hard.api.dto.manager.HardManagerDto;
import com.bsd.pjcloud.hard.api.dto.hard.HandCancelCodeDto;
@@ -1143,6 +1144,17 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
return baseMapper.updateById(updateObj) > 0;
}
/**
* 核销活动二维码
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean handCancelActCode(HandCancelActCodeDto dto) {
// 查看该优惠券
return null;
}
@Override
// @GlobalTransactional
@Transactional(rollbackFor = Exception.class)