Merge remote-tracking branch 'origin/master'

This commit is contained in:
zjf committed 2025-06-10 16:20:35 +08:00
commit 76d569dd9a
5 files changed
+29 -8

No files matched your search

@@ -19,6 +19,8 @@ public class HardOrderSumAndCountDto {
private LocalDateTime[] createTimeList; private LocalDateTime[] createTimeList;
private LocalDateTime[] refundTimeList;
private Long walletTypeId; private Long walletTypeId;
private List<Long> mchIds; private List<Long> mchIds;
@@ -129,8 +129,15 @@ public class HardInvoiceServiceImpl extends ServiceImpl<HardInvoiceMapper, HardI
.eq(HardCarEntity::getParentCarId, order.getParentCarId()) .eq(HardCarEntity::getParentCarId, order.getParentCarId())
); );
// 查询用户 // 查询用户
UserInfo user = Optional.of(userService.getInnerByUserId(order.getUserId())).map(R::getData).orElseThrow(() -> new RuntimeException("用户不存在")); String username = "外部用户-未知用户";
SysUser sysUser = user.getSysUser(); String userPhone = "外部用户-未知手机号";
UserInfo user = userService.getInnerByUserId(order.getUserId()).getData();
if (ObjectUtil.isNotEmpty(user)) {
if (ObjectUtil.isNotEmpty(user.getSysUser())) {
username = user.getSysUser().getName();
userPhone = user.getSysUser().getPhone();
}
}
// 查询商户 // 查询商户
MchManageVo mch = Optional.of(remoteMchService.getById(order.getMerchantId())).map(R::getData).orElseThrow(() -> new RuntimeException("商户不存在")); MchManageVo mch = Optional.of(remoteMchService.getById(order.getMerchantId())).map(R::getData).orElseThrow(() -> new RuntimeException("商户不存在"));
// 订单类型 // 订单类型
@@ -154,12 +161,14 @@ public class HardInvoiceServiceImpl extends ServiceImpl<HardInvoiceMapper, HardI
drawing.setDefaultStyle() drawing.setDefaultStyle()
.drawingRowText("订单号", order.getId().toString()) .drawingRowText("订单号", order.getId().toString())
.drawingRowText("订单类型", orderType) .drawingRowText("订单类型", orderType)
.drawingRowText("用户", sysUser.getName()) .drawingRowText("用户", username)
.drawingRowText("手机号", sysUser.getPhone()) .drawingRowText("手机号", userPhone)
.drawingRowText("商户", mch.getName()) .drawingRowText("商户", mch.getName())
.drawingRowText("部门", mch.getDeptName()) .drawingRowText("部门", mch.getDeptName())
.drawingRowText("下单时间", createTime) .drawingRowText("下单时间", createTime);
.drawingRowText("支付时间", payTime); if (ObjectUtil.isNotEmpty(payTime)) {
drawing.drawingRowText("支付时间", payTime);
}
if (ObjectUtil.isNotEmpty(carList)) { if (ObjectUtil.isNotEmpty(carList)) {
drawing.drawingDottedLine(); drawing.drawingDottedLine();
drawing.drawingRowText("商品", "数量", "总价"); drawing.drawingRowText("商品", "数量", "总价");
@@ -205,6 +205,8 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
if (ObjectUtil.isEmpty(mch)) throw new RuntimeException("机器绑定的商户不存在"); if (ObjectUtil.isEmpty(mch)) throw new RuntimeException("机器绑定的商户不存在");
// 是否需要钱包支付 // 是否需要钱包支付
boolean isWalletPay = isPay(dto.getOrderType(), dto.getOrderPayType()); boolean isWalletPay = isPay(dto.getOrderType(), dto.getOrderPayType());
// 是否需要现金支付
boolean isCashPay = ObjectUtil.equals(dto.getOrderPayType(), HardPayTypeEnum.CASH);
// 是否需要核销 // 是否需要核销
boolean isVerify = isVerify(dto.getOrderPayType()); boolean isVerify = isVerify(dto.getOrderPayType());
// 是否微信支付 // 是否微信支付
@@ -290,7 +292,7 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
} }
baseMapper.insert(orderObj); baseMapper.insert(orderObj);
// 扣减库存 // 扣减库存
// getSelf().fastenerInventory(orderObj, YesNoEnum.YES); getSelf().fastenerInventory(orderObj, YesNoEnum.YES);
// 钱包支付或者核销 // 钱包支付或者核销
if (isVerify || isWalletPay) { if (isVerify || isWalletPay) {
// 钱包扣款 // 钱包扣款
@@ -298,6 +300,11 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
// 核销二维码 // 核销二维码
getSelf().cancelCode(orderObj, userDetail); getSelf().cancelCode(orderObj, userDetail);
} }
// 现金支付
if (isCashPay) {
// 更改为支付成功
getSelf().orderSuccess(orderObj, Boolean.TRUE);
}
// 微信支付 // 微信支付
if (isWeChatPay) { if (isWeChatPay) {
WechatMicropayDto wechatPayDto = WechatMicropayDto.builder().merId(orderObj.getMerchantId()).orderId(orderObj.getId()).price(payPrice).wechatQrCode(String.valueOf(dto.getOrderSourceTypeId())).build(); WechatMicropayDto wechatPayDto = WechatMicropayDto.builder().merId(orderObj.getMerchantId()).orderId(orderObj.getId()).price(payPrice).wechatQrCode(String.valueOf(dto.getOrderSourceTypeId())).build();
@@ -397,7 +397,7 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService {
refundDto.setUserDeptIds(deptIds); refundDto.setUserDeptIds(deptIds);
refundDto.setOrderStatusCodes(HardOrderStatusEnum.getPayErrorCodes()); refundDto.setOrderStatusCodes(HardOrderStatusEnum.getPayErrorCodes());
if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) { if (ObjectUtil.isNotEmpty(dto.getCreateTimeList())) {
refundDto.setCreateTimeList(dto.getCreateTimeList()); refundDto.setRefundTimeList(dto.getCreateTimeList());
} }
if (ObjectUtil.isNotEmpty(dto.getWalletTypeId())) { if (ObjectUtil.isNotEmpty(dto.getWalletTypeId())) {
refundDto.setWalletTypeId(dto.getWalletTypeId()); refundDto.setWalletTypeId(dto.getWalletTypeId());
@@ -368,6 +368,9 @@
<if test="dto.createTimeList != null and dto.createTimeList.length == 2"> <if test="dto.createTimeList != null and dto.createTimeList.length == 2">
and a.create_time between #{dto.createTimeList[0]} and #{dto.createTimeList[1]} and a.create_time between #{dto.createTimeList[0]} and #{dto.createTimeList[1]}
</if> </if>
<if test="dto.refundTimeList != null and dto.refundTimeList.length == 2">
and r.audit_time between #{dto.refundTimeList[0]} and #{dto.refundTimeList[1]}
</if>
<if test="dto.mchIds != null and dto.mchIds.size() != 0"> <if test="dto.mchIds != null and dto.mchIds.size() != 0">
and a.merchant_id in and a.merchant_id in
<foreach collection="dto.mchIds" item="v" open="(" close=")" separator=","> <foreach collection="dto.mchIds" item="v" open="(" close=")" separator=",">