Files
nuttyreading-java/src/main/java/com/peanut/modules/common/controller/TransactionDetailsController.java
2025-03-06 11:13:26 +08:00

79 lines
3.3 KiB
Java

package com.peanut.modules.common.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.peanut.common.utils.R;
import com.peanut.modules.book.service.BuyOrderProductService;
import com.peanut.modules.book.service.ShopProductService;
import com.peanut.modules.common.entity.BuyOrder;
import com.peanut.modules.common.entity.BuyOrderProduct;
import com.peanut.modules.common.entity.ShopProduct;
import com.peanut.modules.common.entity.TransactionDetailsEntity;
import com.peanut.modules.common.service.BuyOrderService;
import com.peanut.modules.common.service.TransactionDetailsService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* 付款记录
*/
@Slf4j
@RestController("commonTransactionDetails")
@RequestMapping("common/transactionDetails")
public class TransactionDetailsController {
@Autowired
private TransactionDetailsService transactionDetailsService;
@Autowired
private BuyOrderService buyOrderService;
@Autowired
private BuyOrderProductService buyOrderProductService;
@Autowired
private ShopProductService shopProductService;
/**
* 获取付款记录列表
* @return
*/
@RequestMapping("/getTransactionDetailsList")
public R getTransactionDetailsList(@RequestBody Map params){
LambdaQueryWrapper<TransactionDetailsEntity> wrapper = new LambdaQueryWrapper<>();
if (params.containsKey("userId")&& StringUtils.isNotEmpty(params.get("userId").toString())){
wrapper.eq(TransactionDetailsEntity::getUserId,params.get("userId"));
}
wrapper.orderByDesc(TransactionDetailsEntity::getCreateTime);
List<TransactionDetailsEntity> list = transactionDetailsService.list(wrapper);
for (TransactionDetailsEntity detail:list){
if ("购买商品".equals(detail.getOrderType())){
String productName = "";
String orderSn = detail.getRemark().substring(8);
BuyOrder buyOrder = buyOrderService.getOne(new LambdaQueryWrapper<BuyOrder>()
.eq(BuyOrder::getOrderSn,orderSn));
if (buyOrder!=null){
List<BuyOrderProduct> products = buyOrderProductService.list(new LambdaQueryWrapper<BuyOrderProduct>()
.eq(BuyOrderProduct::getOrderId,buyOrder.getOrderId()));
for (BuyOrderProduct buyOrderProduct : products) {
ShopProduct shopProduct = shopProductService.getById(buyOrderProduct.getProductId());
if (shopProduct != null){
if (StringUtils.isNotBlank(productName)){
productName += ";"+shopProduct.getProductName();
}else {
productName += shopProduct.getProductName();
}
}
}
}
detail.setProductName(productName);
}
}
return R.ok().put("transactionDetailsList",list);
}
}