This commit is contained in:
seesaw
2024-12-06 10:49:02 +08:00
parent ef8f52e418
commit e12c7b1e18
8 changed files with 46 additions and 8 deletions

View File

@ -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, "下单失败");

View File

@ -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<Long> userIds;
}

View File

@ -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<StoreOrderDO> pageResult = storeOrderService.getStoreOrderPage(pageReqVO);
PageResult<StoreOrderRespVO> bean = BeanUtils.toBean(pageResult, StoreOrderRespVO.class);
//处理订单详情
for (StoreOrderRespVO vo : bean.getList()) {
List<AppStoreOrderDetailVo> 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<AppStoreOrderDetailVo> listByOrderNo = orderDetailService.getListByOrderNo(vo.getOrderId());
vo.setDetailDOS(listByOrderNo);
vo.setStoresName(carteenApi.getCarteenById(vo.getCarteenId()).getStoresName());
}
}
return success(bean);
}

View File

@ -33,6 +33,7 @@ public interface StoreOrderMapper extends BaseMapperX<StoreOrderDO> {
.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));
}

View File

@ -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;
}

View File

@ -141,6 +141,16 @@ public class StoreOrderServiceImpl implements StoreOrderService {
@Override
public PageResult<StoreOrderDO> getStoreOrderPage(StoreOrderPageReqVO pageReqVO) {
if(StrUtil.isNotBlank(pageReqVO.getMobile())){
List<MemberUserDO> listByMobile = userService.getListByMobile(pageReqVO.getMobile());
if(CollectionUtil.isNotEmpty(listByMobile)){
List<Long> 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);

View File

@ -262,4 +262,6 @@ public interface MemberUserService {
String getQRCode();
List<MemberUserDO> getByMobiles(List<String> mobiles);
List<MemberUserDO> getListByMobile(String mobiles);
}

View File

@ -931,4 +931,10 @@ public class MemberUserServiceImpl implements MemberUserService {
.in(MemberUserDO::getMobile, mobiles));
return list;
}
@Override
public List<MemberUserDO> getListByMobile(String mobiles) {
return memberUserMapper.selectList(new LambdaQueryWrapperX<MemberUserDO>()
.likeIfPresent(MemberUserDO::getMobile, mobiles));
}
}