redis key失效监听

This commit is contained in:
2024-03-04 15:58:05 +08:00
parent ebe5c2123b
commit 1b1c69cfa4
9 changed files with 74 additions and 42 deletions

View File

@@ -36,7 +36,7 @@ import javax.servlet.http.HttpServletResponse;
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "/cashierCart管理")
@Api(tags = "购物车管理")
@RequestMapping("/api/tbCashierCart")
public class TbCashierCartController {

View File

@@ -36,7 +36,7 @@ import javax.servlet.http.HttpServletResponse;
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "/orderInfo管理")
@Api(tags = "订单管理")
@RequestMapping("/api/tbOrderInfo")
public class TbOrderInfoController {
@@ -50,37 +50,37 @@ public class TbOrderInfoController {
}
@GetMapping
@Log("查询/orderInfo")
@ApiOperation("查询/orderInfo")
@Log("查询订单")
@ApiOperation("查询订单")
public ResponseEntity<Object> queryTbOrderInfo(TbOrderInfoQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(tbOrderInfoService.queryAll(criteria,pageable),HttpStatus.OK);
}
@GetMapping("/{id}")
@Log("查询/orderInfo")
@ApiOperation("查询/orderInfo")
@Log("通过Id查询订单")
@ApiOperation("通过Id查询订单")
public Object queryTbOrderInfo(@PathVariable("id") Integer id){
return tbOrderInfoService.findById(id);
}
@PostMapping
@Log("新增/orderInfo")
@ApiOperation("新增/orderInfo")
@Log("新增订单")
@ApiOperation("新增订单")
public ResponseEntity<Object> createTbOrderInfo(@Validated @RequestBody TbOrderInfo resources){
return new ResponseEntity<>(tbOrderInfoService.create(resources),HttpStatus.CREATED);
}
@PutMapping
@Log("修改/orderInfo")
@ApiOperation("修改/orderInfo")
@Log("修改订单")
@ApiOperation("修改订单")
public ResponseEntity<Object> updateTbOrderInfo(@Validated @RequestBody TbOrderInfo resources){
tbOrderInfoService.update(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@DeleteMapping
@Log("删除/orderInfo")
@ApiOperation("删除/orderInfo")
@Log("删除订单")
@ApiOperation("删除订单")
public ResponseEntity<Object> deleteTbOrderInfo(@RequestBody Integer[] ids) {
tbOrderInfoService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);

View File

@@ -15,8 +15,8 @@
*/
package cn.ysk.cashier.dto.order;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import lombok.Data;
import cn.ysk.cashier.pojo.order.TbCashierCart;
import java.math.BigDecimal;
import java.io.Serializable;
@@ -154,5 +154,5 @@ public class TbOrderInfoDto implements Serializable {
private String remark;
private List<TbCashierCart> cartList;
private List<TbOrderDetail> detailList;
}

View File

@@ -29,7 +29,4 @@ import java.util.List;
* @date 2024-03-02
**/
public interface TbCashierCartRepository extends JpaRepository<TbCashierCart, Integer>, JpaSpecificationExecutor<TbCashierCart> {
@Query("SELECT cart FROM TbCashierCart cart WHERE cart.orderId = :orderId")
List<TbCashierCart> searchCartByOrderId(@Param("orderId")Integer orderId);
}

View File

@@ -18,6 +18,10 @@ package cn.ysk.cashier.repository.order;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
* @website https://eladmin.vip
@@ -25,4 +29,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
* @date 2024-03-02
**/
public interface TbOrderDetailRepository extends JpaRepository<TbOrderDetail, Integer>, JpaSpecificationExecutor<TbOrderDetail> {
@Query("SELECT cart FROM TbOrderDetail cart WHERE cart.orderId = :orderId")
List<TbOrderDetail> searchDetailByOrderId(@Param("orderId")Integer orderId);
}

View File

@@ -15,32 +15,32 @@
*/
package cn.ysk.cashier.service.impl.order;
import cn.ysk.cashier.pojo.order.TbCashierCart;
import cn.ysk.cashier.repository.order.TbCashierCartRepository;
import cn.ysk.cashier.dto.order.TbOrderInfoDto;
import cn.ysk.cashier.dto.order.TbOrderInfoQueryCriteria;
import cn.ysk.cashier.mapper.order.TbOrderInfoMapper;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import cn.ysk.cashier.pojo.order.TbOrderInfo;
import cn.ysk.cashier.repository.order.TbOrderDetailRepository;
import cn.ysk.cashier.repository.order.TbOrderInfoRepository;
import cn.ysk.cashier.service.order.TbOrderInfoService;
import cn.ysk.cashier.utils.FileUtil;
import cn.ysk.cashier.utils.PageUtil;
import cn.ysk.cashier.utils.QueryHelp;
import cn.ysk.cashier.utils.ValidationUtil;
import cn.ysk.cashier.vo.TbOrderInfoVo;
import lombok.RequiredArgsConstructor;
import cn.ysk.cashier.repository.order.TbOrderInfoRepository;
import cn.ysk.cashier.service.order.TbOrderInfoService;
import cn.ysk.cashier.dto.order.TbOrderInfoDto;
import cn.ysk.cashier.dto.order.TbOrderInfoQueryCriteria;
import cn.ysk.cashier.mapper.order.TbOrderInfoMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @website https://eladmin.vip
@@ -54,15 +54,16 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
private final TbOrderInfoRepository tbOrderInfoRepository;
private final TbOrderInfoMapper tbOrderInfoMapper;
private final TbCashierCartRepository tbCashierCartRepository;
private final TbOrderDetailRepository tbOrderDetailRepository;
@Override
public Map<String,Object> queryAll(TbOrderInfoQueryCriteria criteria, Pageable pageable){
Page<TbOrderInfo> page = tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
List<TbOrderInfoVo> orderInfoVoList = new ArrayList<>();
for (TbOrderInfo tbOrderInfo : page.getContent()) {
TbOrderInfoVo orderInfoVo=new TbOrderInfoVo();
List<TbCashierCart> tbCashierCarts = tbCashierCartRepository.searchCartByOrderId(tbOrderInfo.getId());
orderInfoVo.setCartList(tbCashierCarts);
List<TbOrderDetail> details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId());
orderInfoVo.setDetailList(details);
BeanUtils.copyProperties(tbOrderInfo, orderInfoVo);
orderInfoVoList.add(orderInfoVo);
}
@@ -80,8 +81,8 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
TbOrderInfo tbOrderInfo = tbOrderInfoRepository.findById(id).orElseGet(TbOrderInfo::new);
ValidationUtil.isNull(tbOrderInfo.getId(),"TbOrderInfo","id",id);
TbOrderInfoDto dto = tbOrderInfoMapper.toDto(tbOrderInfo);
List<TbCashierCart> tbCashierCarts = tbCashierCartRepository.searchCartByOrderId(tbOrderInfo.getId());
dto.setCartList(tbCashierCarts);
List<TbOrderDetail> details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId());
dto.setDetailList(details);
return dto;
}

View File

@@ -15,8 +15,8 @@
*/
package cn.ysk.cashier.vo;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import lombok.Data;
import cn.ysk.cashier.pojo.order.TbCashierCart;
import java.math.BigDecimal;
import java.util.List;
@@ -112,5 +112,5 @@ public class TbOrderInfoVo {
private String remark;
private List<TbCashierCart> cartList;
private List<TbOrderDetail> detailList;
}