feat:浦江免密支付完成
This commit is contained in:
1 parent
8990e31f78
commit
d84b294966
14 files changed
+444
-33
No files matched your search
+26
@@ -0,0 +1,26 @@
|
||||
package com.bsd.pjcloud.hard.api.dto;
|
||||
|
||||
import com.bsd.pjcloud.common.core.constant.enums.UserTypeEnum;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HardAppThirdOpenDoorDto {
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 用户类型
|
||||
*/
|
||||
private UserTypeEnum userType;
|
||||
|
||||
/**
|
||||
* 授权id
|
||||
*/
|
||||
@NotNull(message = "授权id不能为空")
|
||||
private Long authId;
|
||||
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package com.bsd.pjcloud.hard.api.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HardThirdMiPayDto {
|
||||
|
||||
private Long id;
|
||||
|
||||
}
|
||||
+6
@@ -117,6 +117,12 @@ public class HardThirdMiOrderEntity extends Model<HardThirdMiOrderEntity> {
|
||||
@Schema(description = "支付金额")
|
||||
private int payPrice;
|
||||
|
||||
/**
|
||||
* 原始 sign json 数据
|
||||
*/
|
||||
@Schema(description = "原始 sign json 数据")
|
||||
private String orgSignJson;
|
||||
|
||||
/**
|
||||
* 原始json数据
|
||||
*/
|
||||
|
||||
+10
-1
@@ -68,10 +68,19 @@ public class HardAuthController {
|
||||
public R<HardAppCreateThirdDoorOrderVo> appCreateThirdDoorOrder(@Valid @RequestBody HardAuthAppDto dto) {
|
||||
PjcloudUser user = SecurityUtils.getUser();
|
||||
dto.setUserId(user.getId());
|
||||
dto.setUserType(UserTypeEnum.valueOfByStatus(user.getUserType()));
|
||||
dto.setUserType(UserTypeEnum.TOC);
|
||||
return R.ok(hardAuthService.appCreateThirdDoorOrder(dto));
|
||||
}
|
||||
|
||||
@Operation(summary = "app创建第三方免密开门", description = "app创建第三方免密开门")
|
||||
@PostMapping("/app/third-door-open")
|
||||
public R<Long> appThirdDoorOpen(@Valid @RequestBody HardAppThirdOpenDoorDto dto) {
|
||||
PjcloudUser user = SecurityUtils.getUser();
|
||||
dto.setUserId(user.getId());
|
||||
dto.setUserType(UserTypeEnum.TOC);
|
||||
return R.ok(hardAuthService.appThirdDoorOpen(dto));
|
||||
}
|
||||
|
||||
/* ************************************* end app end ************************************* */
|
||||
|
||||
@Operation(summary = "流程错误手动处理", description = "流程错误手动处理")
|
||||
|
||||
+12
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardThirdMiPayDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardThirdMiOrderEntity;
|
||||
import com.bsd.pjcloud.hard.service.HardThirdMiOrderService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -44,6 +45,17 @@ public class HardThirdMiOrderController {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付订单
|
||||
*/
|
||||
@Operation(summary = "支付订单", description = "支付订单")
|
||||
@PostMapping("/admin-pay")
|
||||
public R adminPay(@RequestBody HardThirdMiPayDto dto) {
|
||||
hardThirdMiOrderService.adminPay(dto);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
|
||||
+12
@@ -1,5 +1,6 @@
|
||||
package com.bsd.pjcloud.hard.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardThirdMiOrderEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@@ -7,4 +8,15 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface HardThirdMiOrderMapper extends PjcloudBaseMapper<HardThirdMiOrderEntity> {
|
||||
|
||||
default HardThirdMiOrderEntity getByAuthId(Long authId) {
|
||||
return selectOne(new LambdaQueryWrapper<HardThirdMiOrderEntity>()
|
||||
.eq(HardThirdMiOrderEntity::getAuthId, authId)
|
||||
);
|
||||
}
|
||||
|
||||
default HardThirdMiOrderEntity getByOrderId(Long orderId) {
|
||||
return selectOne(new LambdaQueryWrapper<HardThirdMiOrderEntity>()
|
||||
.eq(HardThirdMiOrderEntity::getOrderId, orderId)
|
||||
);
|
||||
}
|
||||
}
|
||||
+6
-4
@@ -3,10 +3,7 @@ package com.bsd.pjcloud.hard.service;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthAppDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthErrorChangeDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardGetAuthAppDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.*;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardAuthEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.HardAuthVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.HardGetAuthAppVo;
|
||||
@@ -32,6 +29,11 @@ public interface HardAuthService extends IService<HardAuthEntity> {
|
||||
*/
|
||||
HardAppCreateThirdDoorOrderVo appCreateThirdDoorOrder(@Valid HardAuthAppDto dto);
|
||||
|
||||
/**
|
||||
* app创建第三方免密开门
|
||||
*/
|
||||
Long appThirdDoorOpen(@Valid HardAppThirdOpenDoorDto dto);
|
||||
|
||||
/**
|
||||
* 判断当前用户信誉
|
||||
*/
|
||||
|
||||
+11
@@ -1,7 +1,9 @@
|
||||
package com.bsd.pjcloud.hard.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardThirdMiPayDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardThirdMiOrderEntity;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
public interface HardThirdMiOrderService extends IService<HardThirdMiOrderEntity> {
|
||||
|
||||
@@ -10,4 +12,13 @@ public interface HardThirdMiOrderService extends IService<HardThirdMiOrderEntity
|
||||
*/
|
||||
void refresh(Long id);
|
||||
|
||||
/**
|
||||
* 后台支付
|
||||
*/
|
||||
void adminPay(HardThirdMiPayDto dto);
|
||||
|
||||
/**
|
||||
* 根据授权id查询授权订单
|
||||
*/
|
||||
HardThirdMiOrderEntity getByAuthId(Long authId);
|
||||
}
|
||||
+17
-1
@@ -3,6 +3,7 @@ package com.bsd.pjcloud.hard.service;
|
||||
|
||||
import com.alipay.api.response.*;
|
||||
import com.bsd.pjcloud.common.core.constant.enums.UserTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardThirdMiOrderEntity;
|
||||
|
||||
public interface MiniAlipayService {
|
||||
|
||||
@@ -11,6 +12,21 @@ public interface MiniAlipayService {
|
||||
*/
|
||||
String getDoorMiniQrCode(String hardDoorId, String cabinetNo);
|
||||
|
||||
/**
|
||||
* 免密授权
|
||||
*/
|
||||
String miDynamicSign(Long userId, UserTypeEnum userType, Long authId);
|
||||
|
||||
/**
|
||||
* 查询免密授权
|
||||
*/
|
||||
ZhimaCreditPayafteruseCreditagreementQueryResponse miDynamicQueySign(Long authId);
|
||||
|
||||
/**
|
||||
* 免密服务下单
|
||||
*/
|
||||
ZhimaCreditPayafteruseCreditbizorderOrderResponse miDynamicOrder(Long authId, Long orderId, Long flowId);
|
||||
|
||||
/**
|
||||
* 创建支付宝免密订单
|
||||
*/
|
||||
@@ -24,7 +40,7 @@ public interface MiniAlipayService {
|
||||
/**
|
||||
* 支付宝免密扣款
|
||||
*/
|
||||
AlipayTradeOrderPayResponse miPay(String authId, String alipayTradeNo, int price);
|
||||
boolean miPay(HardThirdMiOrderEntity thirdOrder, int totalPrice);
|
||||
|
||||
/**
|
||||
* 支付宝免密(取消/退款)
|
||||
|
||||
+45
@@ -17,12 +17,14 @@ import com.bsd.pjcloud.common.core.util.CollectionUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardAuthTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardThirdMiTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.flow.HardDoorFlowBizEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardDoorOpenTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.dto.*;
|
||||
import com.bsd.pjcloud.hard.api.dto.manager.HardManagerDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardAuthEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardDoorFlowEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardThirdMiOrderEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.manager.HardManagerEntity;
|
||||
import com.bsd.pjcloud.hard.api.utils.HardUtil;
|
||||
import com.bsd.pjcloud.hard.api.vo.HardAuthVo;
|
||||
@@ -55,6 +57,7 @@ public class HardAuthServiceImpl extends ServiceImpl<HardAuthMapper, HardAuthEnt
|
||||
private final HardDoorFlowService hardDoorFlowService;
|
||||
private final HardOrderService hardOrderService;
|
||||
private final MiniAlipayService miniAlipayService;
|
||||
private final HardThirdMiOrderService hardThirdMiOrderService;
|
||||
|
||||
private final HardManagerMapper hardManagerMapper;
|
||||
|
||||
@@ -147,6 +150,7 @@ public class HardAuthServiceImpl extends ServiceImpl<HardAuthMapper, HardAuthEnt
|
||||
|
||||
HardAppCreateThirdDoorOrderVo res = new HardAppCreateThirdDoorOrderVo();
|
||||
|
||||
// AlipayTradeCreateResponse alipayRes = miniAlipayService.miCreateOrder(appUser.getOpenid(), authEntity.getId(), dto.getUserId(), dto.getUserType());
|
||||
AlipayTradeCreateResponse alipayRes = miniAlipayService.miCreateOrder(appUser.getOpenid(), authEntity.getId(), dto.getUserId(), dto.getUserType());
|
||||
if (ObjectUtil.isEmpty(alipayRes)) {
|
||||
throw new RuntimeException("创建支付宝免密订单失败");
|
||||
@@ -155,6 +159,47 @@ public class HardAuthServiceImpl extends ServiceImpl<HardAuthMapper, HardAuthEnt
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* app创建第三方免密开门
|
||||
*/
|
||||
@Override
|
||||
public Long appThirdDoorOpen(HardAppThirdOpenDoorDto dto) {
|
||||
// 查询授权信息
|
||||
HardAuthEntity authEntity = baseMapper.selectById(dto.getAuthId());
|
||||
if (ObjectUtil.isEmpty(authEntity)) throw new RuntimeException("授权信息不存在");
|
||||
// 查询设备信息
|
||||
HardDoorManagerVo hardDoorDetail = hardDoorManagerService.getByHardId(authEntity.getHardId());
|
||||
if (ObjectUtil.isEmpty(hardDoorDetail)) throw new RuntimeException("设备信息不存在");
|
||||
HardThirdMiOrderEntity thirdMiOrder = hardThirdMiOrderService.getByAuthId(dto.getAuthId());
|
||||
if (ObjectUtil.isEmpty(thirdMiOrder)) throw new RuntimeException("第三方免密订单不存在");
|
||||
|
||||
if (ObjectUtil.equals(dto.getUserType(), UserTypeEnum.TOC.getStatus())) {
|
||||
// 微信免密支付
|
||||
if (ObjectUtil.equals(thirdMiOrder.getBizType(), HardThirdMiTypeEnum.MI_WECHAT.getType())) {
|
||||
|
||||
}
|
||||
// 支付宝-芝麻先享
|
||||
if (ObjectUtil.equals(thirdMiOrder.getBizType(), HardThirdMiTypeEnum.MI_ALIPAY.getType())) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
HardAuthEntity updateObj = HardAuthEntity.builder().id(dto.getAuthId()).authStatus(YesNoEnum.YES.getCode()).authTime(LocalDateTime.now()).build();
|
||||
baseMapper.updateById(updateObj);
|
||||
|
||||
// 开门
|
||||
HardDoorFlowOpenDto openDoorDto = new HardDoorFlowOpenDto();
|
||||
openDoorDto.setHardDoorId(hardDoorDetail.getId());
|
||||
openDoorDto.setCabinetNo(authEntity.getCabinetNo());
|
||||
openDoorDto.setFlowType(HardDoorFlowBizEnum.PAY_OPEN);
|
||||
openDoorDto.setOpenType(HardDoorOpenTypeEnum.RECORD_VIDEO);
|
||||
openDoorDto.setUserId(dto.getUserId());
|
||||
openDoorDto.setAuthId(dto.getAuthId());
|
||||
hardDoorFlowService.openDoorPay(openDoorDto, hardDoorDetail, dto.getUserType());
|
||||
|
||||
return updateObj.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断当前用户信誉
|
||||
*/
|
||||
|
||||
+31
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alipay.api.response.ZhimaCreditPayafteruseCreditbizorderOrderResponse;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -16,6 +17,8 @@ import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum;
|
||||
import com.bsd.pjcloud.common.core.util.CollectionUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardThirdMiStatusEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardThirdMiTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.flow.HardDoorFlowBizEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.flow.HardDoorFlowEnum;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardDoorFlowDto;
|
||||
@@ -23,6 +26,7 @@ import com.bsd.pjcloud.hard.api.dto.HardDoorFlowOpenDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.manager.HardManagerDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardAuthEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardDoorFlowEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardThirdMiOrderEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.manager.HardDoorManagerEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.manager.HardManagerEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity;
|
||||
@@ -34,6 +38,7 @@ import com.bsd.pjcloud.hard.api.vo.spu.HardSpuJoinVo;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
|
||||
import com.bsd.pjcloud.hard.mapper.HardDoorFlowMapper;
|
||||
import com.bsd.pjcloud.hard.mapper.HardThirdMiOrderMapper;
|
||||
import com.bsd.pjcloud.hard.mapper.manager.HardManagerMapper;
|
||||
import com.bsd.pjcloud.hard.service.*;
|
||||
import com.bsd.pjcloud.thirdparty.api.feign.RemoterThirdDoorApiService;
|
||||
@@ -74,8 +79,11 @@ public class HardDoorFlowServiceImpl extends ServiceImpl<HardDoorFlowMapper, Har
|
||||
private final HardOrderService hardOrderService;
|
||||
@Lazy
|
||||
private final HardAuthService hardAuthService;
|
||||
private final HardThirdMiOrderService hardThirdMiOrderService;
|
||||
private final MiniAlipayService miniAlipayService;
|
||||
|
||||
private final HardManagerMapper hardManagerMapper;
|
||||
private final HardThirdMiOrderMapper hardThirdMiOrderMapper;
|
||||
|
||||
private final RemoterThirdDoorApiService thirdDoorApiService;
|
||||
private final RemoterThirdKsService thirdKsService;
|
||||
@@ -233,6 +241,7 @@ public class HardDoorFlowServiceImpl extends ServiceImpl<HardDoorFlowMapper, Har
|
||||
* 处理开门回调
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void disposeLocakCallback(DoorOpenCallbackDto dto) {
|
||||
if (ObjectUtil.isEmpty(dto.getType()) || ObjectUtil.equals(dto.getResultCode(), "FAIL")) return;
|
||||
// 查询流程
|
||||
@@ -249,6 +258,28 @@ public class HardDoorFlowServiceImpl extends ServiceImpl<HardDoorFlowMapper, Har
|
||||
}
|
||||
Long orderId = hardOrderService.createHardDoorOrder(flowDetail.getUserId(), userType, flowDetail.getHardId());
|
||||
updateObj.setOrderId(orderId);
|
||||
if (ObjectUtil.equals(flowDetail.getUserType(), UserTypeEnum.TOC.getStatus())) {
|
||||
// 更新`hard_third_mi_order`表
|
||||
HardThirdMiOrderEntity thirdOrder = hardThirdMiOrderService.getByAuthId(flowDetail.getAuthId());
|
||||
if (ObjectUtil.isEmpty(thirdOrder)) {
|
||||
log.error("|{}|disposeLocakCallback创建第三方免密支付错误,原因:未查询到第三方免密支付记录authId|{}|", TAG, flowDetail.getAuthId());
|
||||
} else {
|
||||
HardThirdMiOrderEntity updateMiOrderObj = new HardThirdMiOrderEntity();
|
||||
updateMiOrderObj.setId(thirdOrder.getId());
|
||||
updateMiOrderObj.setOrderId(orderId);
|
||||
updateMiOrderObj.setFlowId(flowDetail.getId());
|
||||
updateMiOrderObj.setOutOrderNo(String.valueOf(orderId));
|
||||
hardThirdMiOrderMapper.updateById(updateMiOrderObj);
|
||||
// 微信免密支付
|
||||
if (ObjectUtil.equals(thirdOrder.getBizType(), HardThirdMiTypeEnum.MI_WECHAT.getType())) {
|
||||
|
||||
}
|
||||
// 支付宝-芝麻先享
|
||||
if (ObjectUtil.equals(thirdOrder.getBizType(), HardThirdMiTypeEnum.MI_ALIPAY.getType())) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
baseMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
+38
-1
@@ -2,9 +2,11 @@ package com.bsd.pjcloud.hard.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alipay.api.response.ZhimaCreditPayafteruseCreditbizorderQueryResponse;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardThirdMiStatusEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardThirdMiTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardThirdMiPayDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardThirdMiOrderEntity;
|
||||
import com.bsd.pjcloud.hard.mapper.HardThirdMiOrderMapper;
|
||||
import com.bsd.pjcloud.hard.service.HardThirdMiOrderService;
|
||||
@@ -41,7 +43,7 @@ public class HardThirdMiOrderServiceImpl extends ServiceImpl<HardThirdMiOrderMap
|
||||
if (ObjectUtil.equals(order.getBizType(), HardThirdMiTypeEnum.MI_ALIPAY.getType())) {
|
||||
ZhimaCreditPayafteruseCreditbizorderQueryResponse res = miniAlipayService.miQueryOrder(null, order.getAuthId());
|
||||
if (ObjectUtil.isEmpty(res)) {
|
||||
throw new RuntimeException("支付宝-芝麻先享中,未查询到此订单");
|
||||
throw new RuntimeException("支付宝-芝麻先享,未查询到此订单");
|
||||
}
|
||||
HardThirdMiOrderEntity updateObj = new HardThirdMiOrderEntity();
|
||||
updateObj.setId(order.getId());
|
||||
@@ -74,4 +76,39 @@ public class HardThirdMiOrderServiceImpl extends ServiceImpl<HardThirdMiOrderMap
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 后台支付
|
||||
*/
|
||||
@Override
|
||||
public void adminPay(HardThirdMiPayDto dto) {
|
||||
HardThirdMiOrderEntity order = baseMapper.selectById(dto.getId());
|
||||
if (ObjectUtil.isEmpty(order)) {
|
||||
throw new RuntimeException("订单不存在");
|
||||
}
|
||||
// 微信免密支付
|
||||
if (ObjectUtil.equals(order.getBizType(), HardThirdMiTypeEnum.MI_WECHAT.getType())) {
|
||||
|
||||
refresh(dto.getId());
|
||||
return;
|
||||
}
|
||||
// 支付宝-芝麻先享
|
||||
if (ObjectUtil.equals(order.getBizType(), HardThirdMiTypeEnum.MI_ALIPAY.getType())) {
|
||||
if (ObjectUtil.isEmpty(order.getOrderId())) {
|
||||
throw new RuntimeException("支付宝-芝麻先享,此订单未创建");
|
||||
}
|
||||
miniAlipayService.miPay(order, 10);
|
||||
refresh(dto.getId());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据授权id查询授权订单
|
||||
*/
|
||||
@Override
|
||||
public HardThirdMiOrderEntity getByAuthId(Long authId) {
|
||||
return baseMapper.selectOne(new LambdaQueryWrapper<HardThirdMiOrderEntity>()
|
||||
.eq(HardThirdMiOrderEntity::getAuthId, authId)
|
||||
);
|
||||
}
|
||||
}
|
||||
+190
-15
@@ -5,6 +5,7 @@ import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alipay.api.AlipayClient;
|
||||
import com.alipay.api.AlipayConfig;
|
||||
import com.alipay.api.DefaultAlipayClient;
|
||||
@@ -17,6 +18,7 @@ import com.bsd.pjcloud.hard.api.constant.HardThirdMiTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardThirdMiOrderEntity;
|
||||
import com.bsd.pjcloud.hard.config.MiniAlipayConf;
|
||||
import com.bsd.pjcloud.hard.mapper.HardThirdMiOrderMapper;
|
||||
import com.bsd.pjcloud.hard.service.HardThirdMiOrderService;
|
||||
import com.bsd.pjcloud.hard.service.MiniAlipayService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 支付宝小程序支付
|
||||
@@ -86,6 +89,168 @@ public class MiniAlipayServiceImpl implements MiniAlipayService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 免密授权
|
||||
*/
|
||||
@Override
|
||||
public String miDynamicSign(Long userId, UserTypeEnum userType, Long authId) {
|
||||
HardThirdMiOrderEntity thirdOrder = new HardThirdMiOrderEntity();
|
||||
thirdOrder.setBizType(HardThirdMiTypeEnum.MI_ALIPAY.getType());
|
||||
thirdOrder.setAuthId(authId);
|
||||
thirdOrder.setUserId(userId);
|
||||
thirdOrder.setUserType(userType.getStatus());
|
||||
thirdOrder.setCreateOrderTime(LocalDateTime.now());
|
||||
thirdOrder.setOrderStatus(HardThirdMiStatusEnum.CREATE_ORDER.getType());
|
||||
|
||||
ZhimaCreditPayafteruseCreditagreementSignRequest request = new ZhimaCreditPayafteruseCreditagreementSignRequest();
|
||||
ZhimaCreditPayafteruseCreditagreementSignModel model = new ZhimaCreditPayafteruseCreditagreementSignModel();
|
||||
// 设置芝麻信用服务ID
|
||||
model.setZmServiceId(conf.getZmServiceId());
|
||||
// 设置芝麻外部类目
|
||||
model.setCategoryId("credit_pay_after_use");
|
||||
model.setOutAgreementNo(String.valueOf(authId));
|
||||
request.setBizModel(model);
|
||||
try {
|
||||
ZhimaCreditPayafteruseCreditagreementSignResponse response = getClient().sdkExecute(request);
|
||||
if (!response.isSuccess()) {
|
||||
log.error("|免密授权|失败,json|{}", response.getBody());
|
||||
return null;
|
||||
}
|
||||
return response.getBody();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("|免密授权|异常", e);
|
||||
return null;
|
||||
} finally {
|
||||
hardThirdMiOrderMapper.insert(thirdOrder);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询面密授权
|
||||
*/
|
||||
@Override
|
||||
public ZhimaCreditPayafteruseCreditagreementQueryResponse miDynamicQueySign(Long authId) {
|
||||
HardThirdMiOrderEntity thirdMiOrder = hardThirdMiOrderMapper.getByAuthId(authId);
|
||||
if (ObjectUtil.isEmpty(thirdMiOrder)) {
|
||||
log.error("|查询面密授权|订单不存在,authId|{}", authId);
|
||||
return null;
|
||||
}
|
||||
HardThirdMiOrderEntity updateObj = new HardThirdMiOrderEntity();
|
||||
updateObj.setId(thirdMiOrder.getId());
|
||||
|
||||
ZhimaCreditPayafteruseCreditagreementQueryRequest request = new ZhimaCreditPayafteruseCreditagreementQueryRequest();
|
||||
ZhimaCreditPayafteruseCreditagreementQueryModel model = new ZhimaCreditPayafteruseCreditagreementQueryModel();
|
||||
model.setOutAgreementNo(String.valueOf(authId));
|
||||
request.setBizModel(model);
|
||||
try {
|
||||
ZhimaCreditPayafteruseCreditagreementQueryResponse response = getClient().execute(request);
|
||||
if (!response.isSuccess()) {
|
||||
log.error("|查询面密授权|失败,json|{}", response.getBody());
|
||||
return null;
|
||||
}
|
||||
updateObj.setOrgSignJson(JSONUtil.toJsonStr(response));
|
||||
return response;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("|查询面密授权|异常", e);
|
||||
return null;
|
||||
} finally {
|
||||
if (ObjectUtil.isNotEmpty(updateObj.getOrgSignJson())) {
|
||||
hardThirdMiOrderMapper.updateById(updateObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 免密服务下单
|
||||
*/
|
||||
@Override
|
||||
public ZhimaCreditPayafteruseCreditbizorderOrderResponse miDynamicOrder(Long authId, Long orderId, Long flowId) {
|
||||
HardThirdMiOrderEntity thirdMiOrder = hardThirdMiOrderMapper.getByAuthId(authId);
|
||||
if (ObjectUtil.isEmpty(thirdMiOrder)) {
|
||||
log.error("|免密服务下单|订单不存在,authId|{}", authId);
|
||||
return null;
|
||||
}
|
||||
ZhimaCreditPayafteruseCreditagreementQueryResponse signObj = JSONUtil.toBean(thirdMiOrder.getOrgSignJson(), ZhimaCreditPayafteruseCreditagreementQueryResponse.class);
|
||||
if (ObjectUtil.isEmpty(signObj)) {
|
||||
log.error("|免密服务下单|signObj为空,授权错误,authId|{}", authId);
|
||||
return null;
|
||||
}
|
||||
HardThirdMiOrderEntity updateObj = new HardThirdMiOrderEntity();
|
||||
updateObj.setId(thirdMiOrder.getId());
|
||||
updateObj.setOrderId(orderId);
|
||||
updateObj.setFlowId(flowId);
|
||||
updateObj.setOutOrderNo(String.valueOf(orderId));
|
||||
|
||||
ZhimaCreditPayafteruseCreditbizorderOrderRequest request = new ZhimaCreditPayafteruseCreditbizorderOrderRequest();
|
||||
ZhimaCreditPayafteruseCreditbizorderOrderModel model = new ZhimaCreditPayafteruseCreditbizorderOrderModel();
|
||||
// 设置商户外部订单号
|
||||
model.setOutOrderNo(String.valueOf(orderId));
|
||||
// 设置芝麻开通协议号
|
||||
model.setCreditAgreementId(signObj.getCreditAgreementId());
|
||||
// 设置芝麻外部类目
|
||||
model.setCategoryId("credit_pay_after_use");
|
||||
// 设置芝麻产品代码
|
||||
model.setProductCode("CREDIT_PAY_AFTER_USE");
|
||||
// 设置订单标题
|
||||
model.setSubject("浦江智能柜芝麻先享");
|
||||
// 设置订单描述
|
||||
model.setBody("浦江智能柜芝麻先享");
|
||||
request.setBizModel(model);
|
||||
try {
|
||||
ZhimaCreditPayafteruseCreditbizorderOrderResponse response = getClient().execute(request);
|
||||
if (!response.isSuccess()) {
|
||||
log.error("|免密服务下单|失败,json|{}", response.getBody());
|
||||
return null;
|
||||
}
|
||||
updateObj.setThirdOrderNo(response.getCreditBizOrderId());
|
||||
updateObj.setOrgOrderJson(JSONUtil.toJsonStr(response));
|
||||
|
||||
// 一般是芝麻信用评估不通过、未开通等
|
||||
if (List.of("ZHIMA_CHECK_NO_PASS", "ZHIMA_EVALUATE_NO_PASS", "CREDIT_AGREEMENT_INVALID").contains(response.getCode())) {
|
||||
miDynamicCreate(authId, orderId);
|
||||
}
|
||||
|
||||
response.getCode();
|
||||
return response;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("|免密服务下单|异常", e);
|
||||
return null;
|
||||
} finally {
|
||||
hardThirdMiOrderMapper.updateById(updateObj);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建免密服务订单(风险评估)
|
||||
*/
|
||||
private ZhimaCreditPayafteruseCreditbizorderCreateResponse miDynamicCreate(Long authId, Long orderId) {
|
||||
ZhimaCreditPayafteruseCreditbizorderCreateRequest request = new ZhimaCreditPayafteruseCreditbizorderCreateRequest();
|
||||
ZhimaCreditPayafteruseCreditbizorderCreateModel model = new ZhimaCreditPayafteruseCreditbizorderCreateModel();
|
||||
// 设置商户外部订单号
|
||||
model.setOutOrderNo(String.valueOf(orderId));
|
||||
model.setZmServiceId(conf.getZmServiceId());
|
||||
model.setAmountType("RISK_AMOUNT");
|
||||
model.setCategoryId("credit_pay_after_use");
|
||||
model.setSubject("浦江智能柜芝麻先享");
|
||||
model.setBody("浦江智能柜芝麻先享");
|
||||
request.setBizModel(model);
|
||||
try {
|
||||
ZhimaCreditPayafteruseCreditbizorderCreateResponse response = getClient().sdkExecute(request);
|
||||
if (!response.isSuccess()) {
|
||||
log.error("|创建免密服务订单(风险评估)|失败,json|{}", response.getBody());
|
||||
return null;
|
||||
}
|
||||
return response;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("|创建免密服务订单(风险评估)|异常", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建支付宝免密订单
|
||||
*/
|
||||
@@ -108,7 +273,7 @@ public class MiniAlipayServiceImpl implements MiniAlipayService {
|
||||
// 设置订单附加信息
|
||||
bizContent.putOnce("body", "浦江智能柜芝麻先享");
|
||||
// 设置订单金额
|
||||
bizContent.putOnce("total_amount", 5);
|
||||
bizContent.putOnce("total_amount", 0.01);
|
||||
// 固定
|
||||
bizContent.putOnce("product_code", "JSAPI_PAY");
|
||||
// 用户登录id
|
||||
@@ -173,30 +338,40 @@ public class MiniAlipayServiceImpl implements MiniAlipayService {
|
||||
* 支付宝免密扣款
|
||||
*/
|
||||
@Override
|
||||
public AlipayTradeOrderPayResponse miPay(String authId, String alipayTradeNo, int price) {
|
||||
public boolean miPay(HardThirdMiOrderEntity thirdOrder, int totalPrice) {
|
||||
HardThirdMiOrderEntity updateObj = new HardThirdMiOrderEntity();
|
||||
updateObj.setId(thirdOrder.getId());
|
||||
updateObj.setPayOrderTime(LocalDateTime.now());
|
||||
updateObj.setOrderPrice(totalPrice);
|
||||
updateObj.setPayPrice(totalPrice);
|
||||
|
||||
AlipayTradeOrderPayRequest request = new AlipayTradeOrderPayRequest();
|
||||
JSONObject bizContent = new JSONObject();
|
||||
// 商家外部协议号,自定义确保唯一
|
||||
bizContent.put("out_request_no", authId);
|
||||
// 支付宝交易号
|
||||
bizContent.put("trade_no", alipayTradeNo);
|
||||
// 信用服务订单本次扣款金额,目前只支持全额扣款(传入的是分四舍五入)
|
||||
bizContent.put("fulfillment_amount", new BigDecimal(price).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP));
|
||||
// 固定值
|
||||
bizContent.put("order_pay_mode", "CREDIT_FULFILLMENT_ZM");
|
||||
AlipayTradeOrderPayModel model = new AlipayTradeOrderPayModel();
|
||||
model.setOutRequestNo(String.valueOf(thirdOrder.getOrderId()));
|
||||
model.setTradeNo(thirdOrder.getOutOrderNo());
|
||||
model.setFulfillmentAmount(new BigDecimal(totalPrice).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP).toString());
|
||||
model.setOrderPayMode("CREDIT_FULFILLMENT_ZM");
|
||||
try {
|
||||
request.setBizContent(bizContent.toString());
|
||||
request.setBizModel(model);
|
||||
AlipayTradeOrderPayResponse response = getClient().execute(request);
|
||||
if (!response.isSuccess()) {
|
||||
log.error("|支付宝免密扣款|失败,json|{}", response.getBody());
|
||||
return null;
|
||||
return false;
|
||||
}
|
||||
log.info("|支付宝免密扣款|成功,json|{}", response.getBody());
|
||||
return response;
|
||||
if (ObjectUtil.equals(response.getCode(), "10000")) {
|
||||
updateObj.setOrderStatus(HardThirdMiStatusEnum.PAY.getType());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("|支付宝免密扣款|异常", e);
|
||||
return null;
|
||||
return false;
|
||||
} finally {
|
||||
if (ObjectUtil.isNotEmpty(updateObj.getOrderStatus())) {
|
||||
hardThirdMiOrderMapper.updateById(updateObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+30
-11
@@ -1,11 +1,10 @@
|
||||
package com.bsd.pjcloud.hard.service.impl.order;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alipay.api.response.AlipayTradeOrderPayResponse;
|
||||
import com.alipay.api.response.AlipayTradePayResponse;
|
||||
import com.baomidou.lock.annotation.Lock4j;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@@ -19,7 +18,6 @@ import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
|
||||
import com.bsd.pjcloud.admin.api.utils.DataUtil;
|
||||
import com.bsd.pjcloud.admin.api.vo.UserVO;
|
||||
import com.bsd.pjcloud.canteen.api.feign.RemoteOnlineCanteenSpuService;
|
||||
import com.bsd.pjcloud.canteen.constant.OrderTypeEnum;
|
||||
import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO;
|
||||
import com.bsd.pjcloud.common.core.constant.CacheConstants;
|
||||
import com.bsd.pjcloud.common.core.constant.CommonConstants;
|
||||
@@ -33,6 +31,7 @@ import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.common.security.service.PjcloudUser;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardProductNatureEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardThirdMiStatusEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum;
|
||||
@@ -52,6 +51,7 @@ import com.bsd.pjcloud.hard.api.dto.spu.DeductionSpuStockDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.wechat.WechantReverseDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.wechat.WechatMicropayDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardApptEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardThirdMiOrderEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.manager.HardManagerEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardCarEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity;
|
||||
@@ -62,21 +62,18 @@ import com.bsd.pjcloud.hard.api.vo.HardDoorFlowVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.manager.HardManagerVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardCarVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardCreateHardQrCodeScanOrderVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardOrderPayTypeVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.wechat.WechatMicropayVo;
|
||||
import com.bsd.pjcloud.hard.mapper.HardThirdMiOrderMapper;
|
||||
import com.bsd.pjcloud.hard.mapper.manager.HardManagerMapper;
|
||||
import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper;
|
||||
import com.bsd.pjcloud.hard.service.*;
|
||||
import com.bsd.pjcloud.supermarket.api.feign.RemoteMallProductService;
|
||||
import com.bsd.pjcloud.supermarket.api.feign.RemoteShopSkuService;
|
||||
import com.bsd.pjcloud.supermarket.api.feign.RemoteShopSpuService;
|
||||
import com.bsd.pjcloud.supermarket.api.feign.RemoteSupermarketSpuService;
|
||||
import com.bsd.pjcloud.supermarket.dto.MallProductStockChangeDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.SkuStockChangeDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.ShopSkuEntity;
|
||||
import com.bsd.pjcloud.supermarket.vo.app.ShopSpuDetailAppVo;
|
||||
import com.bsd.pjcloud.thirdparty.dto.ks.KsRecognitionCallbackDto;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletCodeBizEnum;
|
||||
@@ -89,7 +86,6 @@ import com.bsd.pjcloud.wallet.api.dto.act.ActCancelItemDto;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletCodeUseEntity;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCancelItemEntity;
|
||||
import com.bsd.pjcloud.wallet.api.feign.*;
|
||||
import com.bsd.pjcloud.wallet.api.utils.WalletDataUtil;
|
||||
import com.bsd.pjcloud.wallet.api.vo.MchManageVo;
|
||||
@@ -99,7 +95,6 @@ import com.bsd.pjcloud.wallet.api.vo.act.ActCancelItemVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.mch.MchPickUpVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.mch.MchRuleJoinDtoVo;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.Locked;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
@@ -141,6 +136,7 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
|
||||
private final HardApptService hardApptService;
|
||||
private final WechatPayService wechatPayService;
|
||||
private final AlipayService alipayService;
|
||||
private final MiniAlipayService miniAlipayService;
|
||||
|
||||
private final RemoteMchService remoteMchService;
|
||||
private final RemoteMchPickUpService remoteMchPickUpService;
|
||||
@@ -161,6 +157,7 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
|
||||
private final HardManagerMapper hardManagerMapper;
|
||||
|
||||
private final StringRedisTemplate redisTemplate;
|
||||
private final HardThirdMiOrderMapper hardThirdMiOrderMapper;
|
||||
|
||||
@Override
|
||||
public Page<HardOrderVo> pagejoin(Page page, HardOrderDto dto) {
|
||||
@@ -889,7 +886,7 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
|
||||
}
|
||||
// 查询TOC用户
|
||||
else {
|
||||
|
||||
currentUserId = userId;
|
||||
}
|
||||
// 查询设备
|
||||
HardManagerVo hard = hardManagerService.getByHardId(hardId);
|
||||
@@ -970,8 +967,30 @@ public class HardOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardOrder
|
||||
HardOrderEntity orderObj = baseMapper.selectById(updateObj.getId());
|
||||
// 扣减库存
|
||||
getSelf().fastenerInventory(orderObj, YesNoEnum.YES);
|
||||
if (ObjectUtil.equals(dto.getOrderType(), HardOrderTypeEnum.TOC_VISITOR.getType())) {
|
||||
HardThirdMiOrderEntity thirdOrder = hardThirdMiOrderMapper.getByOrderId(orderObj.getId());
|
||||
if (ObjectUtil.isEmpty(thirdOrder)) {
|
||||
log.error("|{}|智能柜订单结算,第三方免密订单不存在orderId|{}|", TAG, orderObj.getId());
|
||||
} else {
|
||||
boolean isPay = miniAlipayService.miPay(thirdOrder, totalPrice);
|
||||
if (isPay) {
|
||||
// 更新订单状态
|
||||
getSelf().orderSuccess(dto, false);
|
||||
// 更新第三方订单
|
||||
HardThirdMiOrderEntity thirdOrderObj = new HardThirdMiOrderEntity();
|
||||
thirdOrderObj.setId(thirdOrder.getId());
|
||||
thirdOrderObj.setOrderPrice(totalPrice);
|
||||
thirdOrderObj.setPayPrice(totalPrice);
|
||||
thirdOrderObj.setPayOrderTime(LocalDateTime.now());
|
||||
thirdOrderObj.setOrderStatus(HardThirdMiStatusEnum.PAY.getType());
|
||||
hardThirdMiOrderMapper.updateById(thirdOrderObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 钱包扣款
|
||||
getSelf().fastReduceBalance(orderObj);
|
||||
else {
|
||||
getSelf().fastReduceBalance(orderObj);
|
||||
}
|
||||
return orderObj.getId();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user