创建订单保存sendType

This commit is contained in:
SongZhang 2024-09-27 10:37:57 +08:00
parent 501970a89b
commit 19eacd1550
6 changed files with 54 additions and 4 deletions

View File

@ -0,0 +1,16 @@
package com.chaozhanggui.system.cashierservice.bean;
import lombok.Getter;
@Getter
public enum OrderSendTypeEnums {
TABLE("table"),
TAKEAWAY("takeaway"),
TAKE_SELF("takeself"),
POST("post");
private final String value;
OrderSendTypeEnums(String value) {
this.value = value;
}
}

View File

@ -1,7 +1,9 @@
package com.chaozhanggui.system.cashierservice.controller;
import com.chaozhanggui.system.cashierservice.entity.dto.ClearTableDTO;
import com.chaozhanggui.system.cashierservice.service.ShopInfoService;
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
import com.chaozhanggui.system.cashierservice.sign.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -47,6 +49,13 @@ public class ShopInfoController {
return shopInfoService.queryShopTable(shopId, areaId, status, page, pageSize);
}
@PutMapping("clearTable")
public Result queryShopTable(
@RequestBody ClearTableDTO clearTableDTO
) {
return Result.success(CodeEnum.SUCCESS, shopInfoService.cleatTable(clearTableDTO));
}
@GetMapping("queryDuty")
public Result queryDuty(@RequestHeader("token") String token,
@RequestParam("page") int page,

View File

@ -0,0 +1,14 @@
package com.chaozhanggui.system.cashierservice.entity.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ClearTableDTO {
@NotNull
private Integer shopId;
@NotBlank
private String tableId;
}

View File

@ -13,4 +13,5 @@ public class ShopEatTypeInfoDTO {
private boolean isDineInBefore;
private TbShopInfo shopInfo;
private String useType;
private String sendType;
}

View File

@ -156,7 +156,7 @@ public class OrderService {
boolean isDineInBefore = isMunchies && !isTakeout;
return new ShopEatTypeInfoDTO(isTakeout, isMunchies, isDineInAfter, isDineInBefore, shopInfo, isTakeout ? OrderUseTypeEnum.TAKEOUT.getValue() :
isMunchies ? OrderUseTypeEnum.DINE_IN_BEFORE.getValue() : OrderUseTypeEnum.DINE_IN_AFTER.getValue());
isMunchies ? OrderUseTypeEnum.DINE_IN_BEFORE.getValue() : OrderUseTypeEnum.DINE_IN_AFTER.getValue(), isTakeout ? OrderSendTypeEnums.TAKE_SELF.getValue() : OrderSendTypeEnums.TABLE.getValue());
}
@ -703,7 +703,7 @@ public class OrderService {
.eq(TbCashierCart::getStatus, "create");
// 外带模式
if (StrUtil.isBlank(orderVo.getTableId())) {
if (eatTypeInfoDTO.isTakeout()) {
queryWrapper.eq(TbCashierCart::getMasterId, orderVo.getMasterId())
.eq(TbCashierCart::getTradeDay, day)
.eq(TbCashierCart::getUseType, OrderUseTypeEnum.TAKEOUT.getValue())
@ -767,8 +767,9 @@ public class OrderService {
}
// 查询历史orderDetail
Integer finalOrderId = orderId;
List<TbOrderDetail> oldOrderDetailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.in(TbOrderDetail::getCartId, cashierIds)
.and(q -> q.in(TbOrderDetail::getCartId, cashierIds).or().eq(TbOrderDetail::getOrderId, finalOrderId))
.eq(TbOrderDetail::getShopId, orderVo.getShopId()));
HashMap<String, TbOrderDetail> oldOrderDetailMap = new HashMap<>();
oldOrderDetailList.forEach(item -> {
@ -863,7 +864,7 @@ public class OrderService {
orderInfo.setUserId(orderVo.getUserId());
orderInfo.setUseType(eatTypeInfoDTO.getUseType());
orderInfo.setPackFee(packAMount);
orderInfo.setSendType(eatTypeInfoDTO.getSendType());
// 堂食自取增加下单次数
if (eatTypeInfoDTO.isDineInAfter()) {
orderInfo.setPlaceNum(currentPlaceNum);
@ -891,6 +892,7 @@ public class OrderService {
if (Objects.nonNull(tbToken)) {
orderInfo.setTokenId(tbToken.getId());
}
orderInfo.setSendType(eatTypeInfoDTO.getSendType());
orderInfo.setOutNumber(masterId);
mPOrderInfoMapper.insert(orderInfo);
orderId = orderInfo.getId();

View File

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.chaozhanggui.system.cashierservice.bean.TableStateEnum;
import com.chaozhanggui.system.cashierservice.dao.*;
import com.chaozhanggui.system.cashierservice.entity.*;
import com.chaozhanggui.system.cashierservice.entity.dto.ClearTableDTO;
import com.chaozhanggui.system.cashierservice.entity.vo.TbShopTableVO;
import com.chaozhanggui.system.cashierservice.mybatis.MpShopTableMapper;
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
@ -141,4 +142,11 @@ public class ShopInfoService {
data.put("isReturn", tbShopInfo.getIsReturn());
return Result.success(CodeEnum.SUCCESS,data);
}
public int cleatTable(ClearTableDTO clearTableDTO) {
return mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
.eq(TbShopTable::getQrcode, clearTableDTO.getTableId())
.eq(TbShopTable::getShopId, clearTableDTO.getShopId())
.set(TbShopTable::getStatus, TableStateEnum.IDLE.getState()));
}
}