redis key过期 监听

This commit is contained in:
2024-03-04 19:25:37 +08:00
parent ebe5c2123b
commit 48f43f7c4d
11 changed files with 96 additions and 66 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 {
@@ -50,30 +50,30 @@ public class TbCashierCartController {
}
@GetMapping
@Log("查询/cashierCart")
@ApiOperation("查询/cashierCart")
@Log("查询购物车")
@ApiOperation("查询购物车")
public ResponseEntity<Object> queryTbCashierCart(TbCashierCartQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(tbCashierCartService.queryAll(criteria,pageable),HttpStatus.OK);
}
@PostMapping
@Log("新增/cashierCart")
@ApiOperation("新增/cashierCart")
@Log("新增购物车")
@ApiOperation("新增购物车")
public ResponseEntity<Object> createTbCashierCart(@Validated @RequestBody TbCashierCart resources){
return new ResponseEntity<>(tbCashierCartService.create(resources),HttpStatus.CREATED);
}
@PutMapping
@Log("修改/cashierCart")
@ApiOperation("修改/cashierCart")
@Log("修改购物车")
@ApiOperation("修改购物车")
public ResponseEntity<Object> updateTbCashierCart(@Validated @RequestBody TbCashierCart resources){
tbCashierCartService.update(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@DeleteMapping
@Log("删除/cashierCart")
@ApiOperation("删除/cashierCart")
@Log("删除购物车")
@ApiOperation("删除购物车")
public ResponseEntity<Object> deleteTbCashierCart(@RequestBody Integer[] ids) {
tbCashierCartService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);

View File

@@ -36,7 +36,7 @@ import javax.servlet.http.HttpServletResponse;
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "/orderDetail管理")
@Api(tags = "订单详情")
@RequestMapping("/api/tbOrderDetail")
public class TbOrderDetailController {
@@ -50,30 +50,30 @@ public class TbOrderDetailController {
}
@GetMapping
@Log("查询/orderDetail")
@ApiOperation("查询/orderDetail")
@Log("查询订单详情")
@ApiOperation("查询订单详情")
public ResponseEntity<Object> queryTbOrderDetail(TbOrderDetailQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(tbOrderDetailService.queryAll(criteria,pageable),HttpStatus.OK);
}
@PostMapping
@Log("新增/orderDetail")
@ApiOperation("新增/orderDetail")
@Log("新增订单详情")
@ApiOperation("新增订单详情")
public ResponseEntity<Object> createTbOrderDetail(@Validated @RequestBody TbOrderDetail resources){
return new ResponseEntity<>(tbOrderDetailService.create(resources),HttpStatus.CREATED);
}
@PutMapping
@Log("修改/orderDetail")
@ApiOperation("修改/orderDetail")
@Log("修改订单详情")
@ApiOperation("修改订单详情")
public ResponseEntity<Object> updateTbOrderDetail(@Validated @RequestBody TbOrderDetail resources){
tbOrderDetailService.update(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@DeleteMapping
@Log("删除/orderDetail")
@ApiOperation("删除/orderDetail")
@Log("删除订单详情")
@ApiOperation("删除订单详情")
public ResponseEntity<Object> deleteTbOrderDetail(@RequestBody Integer[] ids) {
tbOrderDetailService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);

View File

@@ -16,6 +16,7 @@
package cn.ysk.cashier.controller.order;
import cn.ysk.cashier.annotation.Log;
import cn.ysk.cashier.dto.order.TbOrderInfoDto;
import cn.ysk.cashier.pojo.order.TbOrderInfo;
import cn.ysk.cashier.service.order.TbOrderInfoService;
import cn.ysk.cashier.dto.order.TbOrderInfoQueryCriteria;
@@ -36,7 +37,7 @@ import javax.servlet.http.HttpServletResponse;
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "/orderInfo管理")
@Api(tags = "订单管理")
@RequestMapping("/api/tbOrderInfo")
public class TbOrderInfoController {
@@ -50,37 +51,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")
public Object queryTbOrderInfo(@PathVariable("id") Integer id){
@Log("通过Id查询订单")
@ApiOperation("通过Id查询订单")
public TbOrderInfoDto 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,9 @@
*/
package cn.ysk.cashier.dto.order;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import cn.ysk.cashier.pojo.order.TbCashierCart;
import java.math.BigDecimal;
import java.io.Serializable;
@@ -34,8 +35,8 @@ public class TbOrderInfoDto implements Serializable {
private Integer id;
/** 订单编号 */
@ApiModelProperty(value = "订单编号")
private String orderNo;
/** 商户结算金额 */
private BigDecimal settlementAmount;
@@ -154,5 +155,5 @@ public class TbOrderInfoDto implements Serializable {
private String remark;
private List<TbCashierCart> cartList;
private List<TbOrderDetail> detailList;
}

View File

@@ -43,7 +43,7 @@ public class TbOrderDetail implements Serializable {
private Integer id;
@Column(name = "`order_id`")
@ApiModelProperty(value = "orderId")
@ApiModelProperty(value = "订单id")
private Integer orderId;
@Column(name = "`shop_id`")

View File

@@ -18,10 +18,6 @@ package cn.ysk.cashier.repository.order;
import cn.ysk.cashier.pojo.order.TbCashierCart;
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
@@ -29,7 +25,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;
}