feat(修改): 修改阿里支付,支付完成后进行数量等更新

Signed-off-by: bunny <1319900154@qq.com>
This commit is contained in:
bunny 2024-03-30 23:39:21 +08:00
parent e769913c1a
commit dbed5dc451
4 changed files with 39 additions and 7 deletions

View File

@ -30,6 +30,11 @@
<artifactId>service-order-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.atguigu</groupId>
<artifactId>service-product-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>

View File

@ -17,7 +17,7 @@ public interface PaymentInfoService {
* 支付完成后更新状态
*
* @param paramMap paramMap
* @param i i
* @param payType payType
*/
void updatePaymentStatus(Map<String, String> paramMap, int i);
void updatePaymentStatus(Map<String, String> paramMap, Integer payType);
}

View File

@ -2,8 +2,10 @@ package com.atguigu.pay.service.impl;
import com.alibaba.fastjson.JSON;
import com.atguigu.feign.order.OrderFeignClient;
import com.atguigu.feign.product.ProductFeignClient;
import com.atguigu.pay.mapper.PaymentInfoMapper;
import com.atguigu.pay.service.PaymentInfoService;
import com.atguigu.spzx.model.dto.product.SkuSaleDto;
import com.atguigu.spzx.model.entity.order.OrderInfo;
import com.atguigu.spzx.model.entity.order.OrderItem;
import com.atguigu.spzx.model.entity.pay.PaymentInfo;
@ -11,7 +13,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class PaymentInfoServiceImpl implements PaymentInfoService {
@ -19,6 +23,8 @@ public class PaymentInfoServiceImpl implements PaymentInfoService {
private PaymentInfoMapper paymentInfoMapper;
@Autowired
private OrderFeignClient orderFeignClient;
@Autowired
private ProductFeignClient productFeignClient;
/**
* 保存支付记录
@ -55,21 +61,34 @@ public class PaymentInfoServiceImpl implements PaymentInfoService {
* 支付完成后更新状态
*
* @param map paramMap
* @param i i
* @param payType payType
*/
@Override
public void updatePaymentStatus(Map<String, String> map, int i) {
// 查询PaymentInfo
public void updatePaymentStatus(Map<String, String> map, Integer payType) {
// 1查询PaymentInfo
PaymentInfo paymentInfo = paymentInfoMapper.getByOrderNo(map.get("out_trade_no"));
if (paymentInfo.getPaymentStatus() == 1) {
return;
}
// 更新支付信息
// 2更新支付信息
paymentInfo.setPaymentStatus(1);
paymentInfo.setOutTradeNo(map.get("trade_no"));
paymentInfo.setCallbackTime(new Date());
paymentInfo.setCallbackContent(JSON.toJSONString(map));
paymentInfoMapper.updateById(paymentInfo);
// 3更新订单的支付状态
orderFeignClient.updateOrderStatus(paymentInfo.getOrderNo(), payType);
// 4更新商品销量
OrderInfo orderInfo = orderFeignClient.getOrderInfoByOrderNo(paymentInfo.getOrderNo()).getData();
List<SkuSaleDto> skuSaleDtoList = orderInfo.getOrderItemList().stream().map(item -> {
SkuSaleDto skuSaleDto = new SkuSaleDto();
skuSaleDto.setSkuId(item.getSkuId());
skuSaleDto.setNum(item.getSkuNum());
return skuSaleDto;
}).collect(Collectors.toList());
productFeignClient.updateSkuSaleNum(skuSaleDtoList);
}
}

View File

@ -67,6 +67,14 @@
<skipDockerBuild>false</skipDockerBuild>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>