diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java index 9d67b638..6fc69bed 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java @@ -116,6 +116,8 @@ public interface ErrorCodeConstants { ErrorCode AMOUNT_NOT_ENOUGH = new ErrorCode(1_007_904_008, "金额不足"); ErrorCode CODE_NOT_TIME = new ErrorCode(1_007_904_008, "二维码过期"); ErrorCode STATUS_ERROR = new ErrorCode(1_007_904_007, "订单已完成或已退款"); + ErrorCode STATUS_ERROR_ONE = new ErrorCode(1_007_904_007, "订单状态错误"); + ErrorCode STATUS_ERROR_REFUND = new ErrorCode(1_007_904_007, "订单已退款"); ErrorCode STATUS_ERROR_CANCEL = new ErrorCode(1_007_904_007, "订单已取消"); ErrorCode ORDER_FAIL = new ErrorCode(1_007_904_008, "下单失败"); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storeorder/vo/StoreOrderPageReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storeorder/vo/StoreOrderPageReqVO.java index 7b838a01..1e1a71e1 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storeorder/vo/StoreOrderPageReqVO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storeorder/vo/StoreOrderPageReqVO.java @@ -8,6 +8,7 @@ import lombok.ToString; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import java.util.List; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -45,4 +46,10 @@ public class StoreOrderPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; + @Schema(description = "手机号") + private String mobile; + + @Schema(description = "用户IDs") + private List userIds; + } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/storeorder/AppStoreOrderController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/storeorder/AppStoreOrderController.java index f4982400..7647ebfd 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/storeorder/AppStoreOrderController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/storeorder/AppStoreOrderController.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.member.controller.app.storeorder; +import cn.hutool.core.collection.CollectionUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; @@ -56,10 +57,12 @@ public class AppStoreOrderController { PageResult pageResult = storeOrderService.getStoreOrderPage(pageReqVO); PageResult bean = BeanUtils.toBean(pageResult, StoreOrderRespVO.class); //处理订单详情 - for (StoreOrderRespVO vo : bean.getList()) { - List listByOrderNo = orderDetailService.getListByOrderNo(vo.getOrderId()); - vo.setDetailDOS(listByOrderNo); - vo.setStoresName(carteenApi.getCarteenById(vo.getCarteenId()).getStoresName()); + if(CollectionUtil.isNotEmpty(bean.getList())){ + for (StoreOrderRespVO vo : bean.getList()) { + List listByOrderNo = orderDetailService.getListByOrderNo(vo.getOrderId()); + vo.setDetailDOS(listByOrderNo); + vo.setStoresName(carteenApi.getCarteenById(vo.getCarteenId()).getStoresName()); + } } return success(bean); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/storeorder/StoreOrderMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/storeorder/StoreOrderMapper.java index a7d3c086..aa6d4407 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/storeorder/StoreOrderMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/storeorder/StoreOrderMapper.java @@ -33,6 +33,7 @@ public interface StoreOrderMapper extends BaseMapperX { .eqIfPresent(StoreOrderDO::getTotalPrice, reqVO.getTotalPrice()) .eqIfPresent(StoreOrderDO::getUserId, reqVO.getUserId()) .eqIfPresent(StoreOrderDO::getStatus, reqVO.getStatus()) + .inIfPresent(StoreOrderDO::getUserId, reqVO.getUserIds()) .betweenIfPresent(StoreOrderDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(StoreOrderDO::getOrderId)); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java index 7ed7f91a..bc0ff7f0 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java @@ -361,10 +361,13 @@ public class BusinessServiceImpl implements BusinessService { businessRespVO.setWeigh(businessRespVO.getWeigh().add(businessDO.getWeigh())); //早 businessRespVO.setBreakfast(businessRespVO.getBreakfast().add(businessDO.getBreakfast())); + businessRespVO.setBreakfastNum(businessRespVO.getBreakfastNum()+businessDO.getBreakfastNum()); //中 businessRespVO.setLunch(businessRespVO.getLunch().add(businessDO.getLunch())); + businessRespVO.setLunchNum(businessRespVO.getLunchNum()+businessDO.getLunchNum()); //晚 businessRespVO.setDinner(businessRespVO.getDinner().add(businessDO.getDinner())); + businessRespVO.setDinnerNum(businessRespVO.getDinnerNum()+businessDO.getDinnerNum()); //门店 businessRespVO.setCarteenId(businessDO.getCarteenId()); } @@ -378,7 +381,8 @@ public class BusinessServiceImpl implements BusinessService { BusinessRespVO getInitBusinessRespVO() { BusinessRespVO previousVO = new BusinessRespVO(); previousVO.setTurnover(BigDecimal.ZERO).setOrderSum(0).setReduce(BigDecimal.ZERO).setWeigh(BigDecimal.ZERO) - .setBreakfast(BigDecimal.ZERO).setLunch(BigDecimal.ZERO).setDinner(BigDecimal.ZERO).setPriceAvg(BigDecimal.ZERO); + .setBreakfast(BigDecimal.ZERO).setLunch(BigDecimal.ZERO).setDinner(BigDecimal.ZERO).setPriceAvg(BigDecimal.ZERO) + .setBreakfastNum(0).setLunchNum(0).setDinnerNum(0); return previousVO; } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderServiceImpl.java index 2f18ab67..cfccd706 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderServiceImpl.java @@ -141,6 +141,16 @@ public class StoreOrderServiceImpl implements StoreOrderService { @Override public PageResult getStoreOrderPage(StoreOrderPageReqVO pageReqVO) { + if(StrUtil.isNotBlank(pageReqVO.getMobile())){ + List listByMobile = userService.getListByMobile(pageReqVO.getMobile()); + if(CollectionUtil.isNotEmpty(listByMobile)){ + List collect = listByMobile.stream().map(MemberUserDO::getId).collect(Collectors.toList()); + pageReqVO.setUserIds(collect); + }else { + return new PageResult<>(); + } + + } return storeOrderMapper.selectPage(pageReqVO); } @@ -466,6 +476,10 @@ public class StoreOrderServiceImpl implements StoreOrderService { @Override public String code(Integer orderId) { + StoreOrderDO storeOrderDO = storeOrderMapper.selectById(orderId); + if(!storeOrderDO.getStatus().equals(StoreOrderStatusEnum.PAY.getCode())){ + return null; + } return QRCodeWithJWTUtil.generateQRCode(QRCodeWithJWTUtil.QR_PREFIX_HX+orderId.toString(), 350, 350, null);// 生 } @@ -487,9 +501,8 @@ public class StoreOrderServiceImpl implements StoreOrderService { if(ObjectUtil.isEmpty(storeOrderDO)){ throw exception(STORE_ORDER_NOT_EXISTS); } - if(storeOrderDO.getStatus().equals(StoreOrderStatusEnum.COMPLETE.getCode()) - || storeOrderDO.getStatus().equals(StoreOrderStatusEnum.REFUND.getCode())){ - throw exception(STATUS_ERROR); + if(!storeOrderDO.getStatus().equals(StoreOrderStatusEnum.PAY.getCode())){ + throw exception(STATUS_ERROR_ONE); } storeOrderDO.setStatus(StoreOrderStatusEnum.COMPLETE.getCode()); storeOrderMapper.updateById(storeOrderDO); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java index 5119f249..56b83c62 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java @@ -262,4 +262,6 @@ public interface MemberUserService { String getQRCode(); List getByMobiles(List mobiles); + + List getListByMobile(String mobiles); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java index 52481c17..fd59a31f 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java @@ -931,4 +931,10 @@ public class MemberUserServiceImpl implements MemberUserService { .in(MemberUserDO::getMobile, mobiles)); return list; } + + @Override + public List getListByMobile(String mobiles) { + return memberUserMapper.selectList(new LambdaQueryWrapperX() + .likeIfPresent(MemberUserDO::getMobile, mobiles)); + } }