订单列表支持订单号和商品名模糊查询

This commit is contained in:
SongZhang 2024-10-18 17:18:39 +08:00
parent b589faefab
commit fcaf1f230b
2 changed files with 14 additions and 7 deletions

View File

@ -71,6 +71,7 @@ public class TbOrderInfoQueryCriteria{
private List<Long> createdAt;
private Integer userId;
private String keyword;
@Query

View File

@ -3,6 +3,7 @@ package cn.ysk.cashier.service.impl.order;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.ysk.cashier.cons.TableConstant;
import cn.ysk.cashier.cons.rabbit.RabbitConstants;
import cn.ysk.cashier.dto.order.TbOrderInfoDto;
@ -127,7 +128,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
predicate = criteriaBuilder.and(predicate, criteriaBuilder.equal(root.get("userId"), criteria.getUserId()));
}
if (StringUtils.isNotBlank(criteria.getProductName())) {
if (StringUtils.isNotBlank(criteria.getKeyword())) {
Date startTime, endTime;
DateTime offsetMonth = cn.hutool.core.date.DateUtil.offsetMonth(new Date(), 3);
if (criteria.getCreatedAt() != null && criteria.getCreatedAt().size() == 2) {
@ -144,14 +145,19 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
endTime = new Date();
}
List<Integer> productIds = tbOrderDetailRepository.findOrderIdsByProductNameLike(criteria.getProductName(),
List<Integer> productIds = tbOrderDetailRepository.findOrderIdsByProductNameLike(criteria.getKeyword(),
criteria.getShopId(), startTime, endTime);
Predicate inIds;
if (productIds.isEmpty()) {
predicate = criteriaBuilder.and(predicate, criteriaBuilder.equal(root.get("id"), 0));
productIds.add(0);
inIds = root.get("id").in(productIds);
} else {
predicate = criteriaBuilder.and(predicate, root.get("id").in(productIds));
inIds = root.get("id").in(productIds);
}
Predicate likeOrderNo = criteriaBuilder.like(root.get("orderNo"), "%" + criteria.getKeyword() + "%");
predicate = criteriaBuilder.and(predicate, criteriaBuilder.or(likeOrderNo, inIds));
}
return predicate;
@ -396,8 +402,8 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
tbOrderInfo.setStatus("cancelled");
//订单取消 赠送商品数量返回
QueryWrapper<TbActivateOutRecord> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_id",tbOrderInfo.getId());
queryWrapper.eq("status","create");
queryWrapper.eq("order_id", tbOrderInfo.getId());
queryWrapper.eq("status", "create");
List<TbActivateOutRecord> outRecords = outRecordService.list(queryWrapper);
for (TbActivateOutRecord outRecord : outRecords) {
TbActivateInRecord inRecord = inRecordService.getById(outRecord.getGiveId());
@ -532,7 +538,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
tbOrderInfo.setStatus("申请退单中");
break;
case "refund":
map.put("支付金额", "-"+tbOrderInfo.getPayAmount());
map.put("支付金额", "-" + tbOrderInfo.getPayAmount());
tbOrderInfo.setStatus("退单完成");
break;
case "cancelled":