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 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 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() .eq(BuyOrder::getOrderSn,orderSn)); if (buyOrder!=null){ List products = buyOrderProductService.list(new LambdaQueryWrapper() .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); } }