Merge remote-tracking branch 'origin/test' into test
# Conflicts: # src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.OrderVo;
|
import com.chaozhanggui.system.cashierservice.entity.OrderVo;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.dto.ChoseCountDTO;
|
import com.chaozhanggui.system.cashierservice.entity.dto.ChoseCountDTO;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.dto.ReturnCartDTO;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.dto.UpdateVipDTO;
|
import com.chaozhanggui.system.cashierservice.entity.dto.UpdateVipDTO;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.vo.CartVo;
|
import com.chaozhanggui.system.cashierservice.entity.vo.CartVo;
|
||||||
import com.chaozhanggui.system.cashierservice.service.OrderService;
|
import com.chaozhanggui.system.cashierservice.service.OrderService;
|
||||||
@@ -28,9 +29,7 @@ public class OrderController {
|
|||||||
private OrderService orderService;
|
private OrderService orderService;
|
||||||
|
|
||||||
@PutMapping("/updateVip")
|
@PutMapping("/updateVip")
|
||||||
public ResponseEntity<Object> updateVip(
|
public ResponseEntity<Object> updateVip(@Validated @RequestBody UpdateVipDTO updateVipDTO) {
|
||||||
@Validated @RequestBody UpdateVipDTO updateVipDTO
|
|
||||||
) {
|
|
||||||
return ResponseEntity.ok(orderService.updateVip(updateVipDTO));
|
return ResponseEntity.ok(orderService.updateVip(updateVipDTO));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,12 +37,11 @@ public class OrderController {
|
|||||||
public Result createCart(@RequestHeader("token") String token,
|
public Result createCart(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@Validated @RequestBody CartVo cartVo
|
@Validated @RequestBody CartVo cartVo) {
|
||||||
) {
|
|
||||||
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
||||||
String userId = jsonObject.getString("accountId");
|
String userId = jsonObject.getString("accountId");
|
||||||
return orderService.createCart(cartVo.getMasterId(), cartVo.getProductId(), cartVo.getShopId(),
|
return orderService.createCart(cartVo.getMasterId(), cartVo.getProductId(), cartVo.getShopId(), cartVo.getSkuId(),
|
||||||
cartVo.getSkuId(), cartVo.getNumber(), userId, clientType, cartVo.getCartId(), cartVo.getIsGift(),
|
cartVo.getNumber(), userId, clientType, cartVo.getCartId(), cartVo.getIsGift(),
|
||||||
cartVo.getIsPack(), cartVo.getUuid(), cartVo.getType(), cartVo.getTableId());
|
cartVo.getIsPack(), cartVo.getUuid(), cartVo.getType(), cartVo.getTableId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,8 +51,7 @@ public class OrderController {
|
|||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestParam(value = "masterId", required = false) String masterId,
|
@RequestParam(value = "masterId", required = false) String masterId,
|
||||||
@RequestParam(required = false) String tableId,
|
@RequestParam(required = false) String tableId,
|
||||||
@RequestParam("shopId") String shopId
|
@RequestParam("shopId") String shopId) {
|
||||||
) {
|
|
||||||
if (tableId == null && StrUtil.isBlank(masterId)) {
|
if (tableId == null && StrUtil.isBlank(masterId)) {
|
||||||
return Result.fail("masterId和tableId不能同时为空");
|
return Result.fail("masterId和tableId不能同时为空");
|
||||||
}
|
}
|
||||||
@@ -68,8 +65,7 @@ public class OrderController {
|
|||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestParam(required = false) String tableId,
|
@RequestParam(required = false) String tableId,
|
||||||
@RequestParam(value = "masterId", required = false) String masterId,
|
@RequestParam(value = "masterId", required = false) String masterId,
|
||||||
@RequestParam("cartId") Integer cartId
|
@RequestParam("cartId") Integer cartId) {
|
||||||
) {
|
|
||||||
return orderService.delCart(masterId, cartId);
|
return orderService.delCart(masterId, cartId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,38 +74,43 @@ public class OrderController {
|
|||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestParam("shopId") String shopId,
|
@RequestParam("shopId") String shopId,
|
||||||
@RequestParam(required = false) String tableId,
|
@RequestParam(required = false) String tableId, String type) {
|
||||||
String type
|
|
||||||
) {
|
|
||||||
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
||||||
String userId = jsonObject.getString("accountId");
|
String userId = jsonObject.getString("accountId");
|
||||||
return orderService.createCode(shopId, clientType, userId, type, tableId);
|
return orderService.createCode(shopId, clientType, userId, type, tableId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/getCartList")
|
@GetMapping("/getCartList")
|
||||||
public Result getCart(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result getCart(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestParam("shopId") Integer shopId) {
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestParam("shopId") Integer shopId) {
|
||||||
return orderService.getCartList(shopId);
|
return orderService.getCartList(shopId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/getCartPrductSpec")
|
@GetMapping("/getCartPrductSpec")
|
||||||
public Result getCartPrductSpec(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result getCartPrductSpec(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestParam("cartId") Integer cartId) {
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestParam("cartId") Integer cartId) {
|
||||||
return orderService.getCartPrductSpec(cartId);
|
return orderService.getCartPrductSpec(cartId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/cartStatus")
|
@PostMapping("/cartStatus")
|
||||||
public Result cartStatus(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result cartStatus(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestBody CartVo cartVo) {
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestBody CartVo cartVo) {
|
||||||
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
||||||
String userId = jsonObject.getString("accountId");
|
String userId = jsonObject.getString("accountId");
|
||||||
return orderService.cartStatus(cartVo.getShopId(), cartVo.getMasterId(),
|
return orderService.cartStatus(cartVo.getShopId(), cartVo.getMasterId(), cartVo.getStatus(), userId, cartVo.getUuid(), clientType, cartVo.getTableId(), token, cartVo.getOrderId());
|
||||||
cartVo.getStatus(), userId, cartVo.getUuid(), clientType, cartVo.getTableId(), token, cartVo.getOrderId());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/createOrder")
|
@PostMapping("/createOrder")
|
||||||
public Result createOrder(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result createOrder(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestBody OrderVo orderVo) {
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestBody OrderVo orderVo) {
|
||||||
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
||||||
String userId = jsonObject.getString("accountId");
|
String userId = jsonObject.getString("accountId");
|
||||||
orderVo.setMerchantId(Integer.valueOf(userId));
|
orderVo.setMerchantId(Integer.valueOf(userId));
|
||||||
@@ -118,8 +119,10 @@ public class OrderController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/createBackOrder")
|
@PostMapping("/createBackOrder")
|
||||||
public Result createBackOrder(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result createBackOrder(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestBody OrderVo orderVo) {
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestBody OrderVo orderVo) {
|
||||||
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
||||||
String userId = jsonObject.getString("accountId");
|
String userId = jsonObject.getString("accountId");
|
||||||
orderVo.setMerchantId(Integer.valueOf(userId));
|
orderVo.setMerchantId(Integer.valueOf(userId));
|
||||||
@@ -128,22 +131,28 @@ public class OrderController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/packall")
|
@PostMapping("/packall")
|
||||||
public Result packall(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result packall(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestBody CartVo cartVo) {
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestBody CartVo cartVo) {
|
||||||
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
||||||
String userId = jsonObject.getString("accountId");
|
String userId = jsonObject.getString("accountId");
|
||||||
return orderService.packall(cartVo);
|
return orderService.packall(cartVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/clearCart")
|
@PostMapping("/clearCart")
|
||||||
public Result clearCart(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result clearCart(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestBody CartVo cartVo) {
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestBody CartVo cartVo) {
|
||||||
return orderService.clearCart(cartVo);
|
return orderService.clearCart(cartVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/findOrder")
|
@GetMapping("/findOrder")
|
||||||
public Result findOrder(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result findOrder(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestParam("shopId") Integer shopId,
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestParam("shopId") Integer shopId,
|
||||||
@RequestParam("status") String status,
|
@RequestParam("status") String status,
|
||||||
@RequestParam(value = "orderNo", required = false) String orderNo,
|
@RequestParam(value = "orderNo", required = false) String orderNo,
|
||||||
@RequestParam(value = "startTime", required = false) String startTime,
|
@RequestParam(value = "startTime", required = false) String startTime,
|
||||||
@@ -154,8 +163,10 @@ public class OrderController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/orderDetail")
|
@GetMapping("/orderDetail")
|
||||||
public Result orderDetail(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result orderDetail(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestParam("shopId") Integer shopId,
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestParam("shopId") Integer shopId,
|
||||||
@RequestParam("id") Integer id) {
|
@RequestParam("id") Integer id) {
|
||||||
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
JSONObject jsonObject = TokenUtil.parseParamFromToken(token);
|
||||||
String userId = jsonObject.getString("accountId");
|
String userId = jsonObject.getString("accountId");
|
||||||
@@ -164,36 +175,54 @@ public class OrderController {
|
|||||||
|
|
||||||
|
|
||||||
@RequestMapping(value = "sendMessage")
|
@RequestMapping(value = "sendMessage")
|
||||||
public Result sendMessage(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result sendMessage(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestParam("orderId") String orderId) {
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestParam("orderId") String orderId) {
|
||||||
return orderService.sendMassage(orderId);
|
return orderService.sendMassage(orderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping(value = "scanSendMessage")
|
@GetMapping(value = "scanSendMessage")
|
||||||
public Result scanSendMessage(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result scanSendMessage(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestParam("outNumber") String outNumber, @RequestParam("shopId") String shopId) {
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestParam("outNumber") String outNumber,
|
||||||
|
@RequestParam("shopId") String shopId) {
|
||||||
return orderService.scanSendMessage(outNumber, shopId);
|
return orderService.scanSendMessage(outNumber, shopId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping(value = "getsendMessage")
|
@GetMapping(value = "getsendMessage")
|
||||||
public Result getsendMessage(@RequestHeader("token") String token, @RequestHeader("loginName") String loginName,
|
public Result getsendMessage(@RequestHeader("token") String token,
|
||||||
@RequestHeader("clientType") String clientType, @RequestParam("shopId") String shopId, @RequestParam("page") int page,
|
@RequestHeader("loginName") String loginName,
|
||||||
|
@RequestHeader("clientType") String clientType,
|
||||||
|
@RequestParam("shopId") String shopId,
|
||||||
|
@RequestParam("page") int page,
|
||||||
@RequestParam("pageSize") int pageSize) {
|
@RequestParam("pageSize") int pageSize) {
|
||||||
return orderService.getOutNumber(shopId, page, pageSize);
|
return orderService.getOutNumber(shopId, page, pageSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("getOrderById")
|
@GetMapping("getOrderById")
|
||||||
public Result getOrderById(@RequestParam("orderId") Integer orderId) {
|
public Result getOrderById(@RequestParam("orderId") Integer orderId) {
|
||||||
return orderService.getOrder(orderId);
|
return orderService.getOrder(orderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就餐人数选择
|
||||||
|
*/
|
||||||
@PutMapping("/choseCount")
|
@PutMapping("/choseCount")
|
||||||
public Result choseCount(
|
public Result choseCount(@Validated @RequestBody ChoseCountDTO choseCountDTO) {
|
||||||
@Validated @RequestBody ChoseCountDTO choseCountDTO
|
|
||||||
) {
|
|
||||||
return Result.success(CodeEnum.SUCCESS, orderService.choseCount(choseCountDTO));
|
return Result.success(CodeEnum.SUCCESS, orderService.choseCount(choseCountDTO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退菜
|
||||||
|
* @param returnCartDTO 退菜信息
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
@PostMapping("/returnCart")
|
||||||
|
public Result returnCart(@Validated @RequestBody ReturnCartDTO returnCartDTO) {
|
||||||
|
return Result.success(CodeEnum.SUCCESS, orderService.returnCart(returnCartDTO));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.chaozhanggui.system.cashierservice.controller;
|
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.service.ShopInfoService;
|
||||||
|
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
|
||||||
import com.chaozhanggui.system.cashierservice.sign.Result;
|
import com.chaozhanggui.system.cashierservice.sign.Result;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -47,6 +49,13 @@ public class ShopInfoController {
|
|||||||
return shopInfoService.queryShopTable(shopId, areaId, status, page, pageSize);
|
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")
|
@GetMapping("queryDuty")
|
||||||
public Result queryDuty(@RequestHeader("token") String token,
|
public Result queryDuty(@RequestHeader("token") String token,
|
||||||
@RequestParam("page") int page,
|
@RequestParam("page") int page,
|
||||||
|
|||||||
@@ -45,5 +45,7 @@ public class TbOrderDetail implements Serializable {
|
|||||||
private Integer placeNum;
|
private Integer placeNum;
|
||||||
private String useType;
|
private String useType;
|
||||||
|
|
||||||
|
private String note;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,6 +111,8 @@ public class TbOrderInfo implements Serializable {
|
|||||||
|
|
||||||
private String useType;
|
private String useType;
|
||||||
private Integer placeNum;
|
private Integer placeNum;
|
||||||
|
private Integer seatCount;
|
||||||
|
private BigDecimal seatAmount;
|
||||||
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.entity.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PrintDTO {
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.entity.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ReturnCartDTO {
|
||||||
|
@NotNull
|
||||||
|
private Integer cartId;
|
||||||
|
@NotNull
|
||||||
|
private Integer shopId;
|
||||||
|
@NotNull
|
||||||
|
private Long tableId;
|
||||||
|
}
|
||||||
@@ -13,4 +13,5 @@ public class ShopEatTypeInfoDTO {
|
|||||||
private boolean isDineInBefore;
|
private boolean isDineInBefore;
|
||||||
private TbShopInfo shopInfo;
|
private TbShopInfo shopInfo;
|
||||||
private String useType;
|
private String useType;
|
||||||
|
private String sendType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,9 +69,10 @@ public class PrintConsumer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RabbitListener(queues = {RabbitConstants.QUEUE_PRINT_PLACE})
|
@RabbitListener(queues = {RabbitConstants.QUEUE_PRINT_PLACE})
|
||||||
public void printPlaceListener(JSONObject jsonObject) {
|
public void printPlaceListener(String msg) {
|
||||||
try {
|
try {
|
||||||
log.info("打印消息mq 接收到打印结算单消息,消息内容: {}", jsonObject);
|
log.info("打印消息mq 接收到打印结算单消息,消息内容: {}", msg);
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(msg);
|
||||||
Integer orderId = jsonObject.getInteger("orderId");
|
Integer orderId = jsonObject.getInteger("orderId");
|
||||||
Boolean isReturn = jsonObject.getBoolean("isReturn");
|
Boolean isReturn = jsonObject.getBoolean("isReturn");
|
||||||
|
|
||||||
|
|||||||
@@ -341,14 +341,14 @@ public class PrintMechineConsumer {
|
|||||||
|
|
||||||
data = PrinterUtils.getPrintData("return",
|
data = PrinterUtils.getPrintData("return",
|
||||||
StrUtil.isBlank(orderInfo.getTableName()) ? orderInfo.getMasterId() : orderInfo.getTableName(),
|
StrUtil.isBlank(orderInfo.getTableName()) ? orderInfo.getMasterId() : orderInfo.getTableName(),
|
||||||
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(), Math.abs(printerNum), remark);
|
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(), Math.abs(printerNum), remark, null);
|
||||||
voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
data = PrinterUtils.getPrintData("", orderInfo.getMasterId(),
|
data = PrinterUtils.getPrintData("", orderInfo.getMasterId(),
|
||||||
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(),
|
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(),
|
||||||
printerNum, remark);
|
printerNum, remark, null);
|
||||||
voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
||||||
|
|
||||||
@@ -366,7 +366,7 @@ public class PrintMechineConsumer {
|
|||||||
TbOrderDetail orderDetail = (TbOrderDetail) item;
|
TbOrderDetail orderDetail = (TbOrderDetail) item;
|
||||||
String data = PrinterUtils.getPrintData("return",
|
String data = PrinterUtils.getPrintData("return",
|
||||||
StrUtil.isBlank(orderInfo.getTableName()) ? orderInfo.getMasterId() : orderInfo.getTableName(),
|
StrUtil.isBlank(orderInfo.getTableName()) ? orderInfo.getMasterId() : orderInfo.getTableName(),
|
||||||
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(), orderDetail.getNum(), orderDetail.getRemark());
|
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(), orderDetail.getNum(), orderDetail.getRemark(), null);
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
||||||
|
|
||||||
@@ -436,7 +436,7 @@ public class PrintMechineConsumer {
|
|||||||
TbOrderDetail orderDetail = (TbOrderDetail) item;
|
TbOrderDetail orderDetail = (TbOrderDetail) item;
|
||||||
String data = PrinterUtils.getPrintData("return",
|
String data = PrinterUtils.getPrintData("return",
|
||||||
StrUtil.isBlank(orderInfo.getTableName()) ? orderInfo.getMasterId() : orderInfo.getTableName(),
|
StrUtil.isBlank(orderInfo.getTableName()) ? orderInfo.getMasterId() : orderInfo.getTableName(),
|
||||||
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(), orderDetail.getNum(), orderDetail.getRemark());
|
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(), orderDetail.getNum(), orderDetail.getRemark(), null);
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 3, 1, machine.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 3, 1, machine.getAddress(), data);
|
||||||
|
|
||||||
@@ -478,7 +478,7 @@ public class PrintMechineConsumer {
|
|||||||
}
|
}
|
||||||
String data = PrinterUtils.getPrintData("", orderInfo.getMasterId(),
|
String data = PrinterUtils.getPrintData("", orderInfo.getMasterId(),
|
||||||
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(),
|
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(),
|
||||||
it.getNum(), remark);
|
it.getNum(), remark, null);
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
||||||
}
|
}
|
||||||
@@ -493,8 +493,6 @@ public class PrintMechineConsumer {
|
|||||||
List<TbOrderDetail> details = tbOrderDetailMapper.selectAllByOrderId(Integer.valueOf(orderId));
|
List<TbOrderDetail> details = tbOrderDetailMapper.selectAllByOrderId(Integer.valueOf(orderId));
|
||||||
if (ObjectUtil.isNotEmpty(details) && details.size() > 0) {
|
if (ObjectUtil.isNotEmpty(details) && details.size() > 0) {
|
||||||
details.parallelStream().forEach(it -> {
|
details.parallelStream().forEach(it -> {
|
||||||
|
|
||||||
|
|
||||||
String categoryId = tbProductMapper.selectByPrimaryKey(Integer.valueOf(it.getProductId())).getCategoryId();
|
String categoryId = tbProductMapper.selectByPrimaryKey(Integer.valueOf(it.getProductId())).getCategoryId();
|
||||||
Long count = categoryInfos.stream().filter(c ->
|
Long count = categoryInfos.stream().filter(c ->
|
||||||
c.getId().toString().equals(categoryId)
|
c.getId().toString().equals(categoryId)
|
||||||
@@ -506,7 +504,8 @@ public class PrintMechineConsumer {
|
|||||||
if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) {
|
if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) {
|
||||||
remark = tbProductSkuWithBLOBs.getSpecSnap();
|
remark = tbProductSkuWithBLOBs.getSpecSnap();
|
||||||
}
|
}
|
||||||
String data = PrinterUtils.getPrintData("return", orderInfo.getPayType().equals("wx_lite") ? orderInfo.getTableName() : orderInfo.getMasterId(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(), it.getNum(), remark);
|
String data = PrinterUtils.getPrintData("return", orderInfo.getPayType().equals("wx_lite") ?
|
||||||
|
orderInfo.getTableName() : orderInfo.getMasterId(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(), it.getNum(), remark, null);
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 3, 1, tbPrintMachineWithBLOBs.getAddress(), data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package com.chaozhanggui.system.cashierservice.rabbit.print;
|
package com.chaozhanggui.system.cashierservice.rabbit.print;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.chaozhanggui.system.cashierservice.bean.OrderUseTypeEnum;
|
||||||
import com.chaozhanggui.system.cashierservice.dao.TbProductMapper;
|
import com.chaozhanggui.system.cashierservice.dao.TbProductMapper;
|
||||||
import com.chaozhanggui.system.cashierservice.dao.TbProductSkuMapper;
|
import com.chaozhanggui.system.cashierservice.dao.TbProductSkuMapper;
|
||||||
import com.chaozhanggui.system.cashierservice.dao.TbShopInfoMapper;
|
import com.chaozhanggui.system.cashierservice.dao.TbShopInfoMapper;
|
||||||
@@ -39,31 +41,45 @@ public class YxyPrinter extends PrinterHandler{
|
|||||||
this.tbCallTableMapper = tbCallTableMapper;
|
this.tbCallTableMapper = tbCallTableMapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getPickupNum(TbOrderInfo orderInfo) {
|
||||||
|
String pickupNum = "";
|
||||||
|
if ("miniapp".equals(orderInfo.getOrderType())) {
|
||||||
|
if (OrderUseTypeEnum.TAKEOUT.getValue().equals(orderInfo.getUseType())) {
|
||||||
|
pickupNum = orderInfo.getOutNumber();
|
||||||
|
}else {
|
||||||
|
pickupNum = orderInfo.getTableName();
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
pickupNum = orderInfo.getMasterId();
|
||||||
|
}
|
||||||
|
return pickupNum;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void returnDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
|
protected void returnDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
|
||||||
String data = PrinterUtils.getPrintData("return",
|
|
||||||
StrUtil.isBlank(orderInfo.getTableName()) ? orderInfo.getMasterId() : orderInfo.getTableName(),
|
String data = PrinterUtils.getPrintData("return", getPickupNum(orderInfo),
|
||||||
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(), Math.abs(orderDetail.getNum()), orderDetail.getRemark());
|
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(),
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
Math.abs(orderDetail.getNum()), orderDetail.getRemark(), orderDetail.getNote());
|
||||||
|
// String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
||||||
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 3, 1, machine.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 3, 1, machine.getAddress(), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void normalDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
|
protected void normalDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
|
||||||
String data = PrinterUtils.getPrintData("", orderInfo.getMasterId(),
|
String data = PrinterUtils.getPrintData("", getPickupNum(orderInfo),
|
||||||
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(),
|
DateUtils.getTime(new Date(orderInfo.getCreatedAt())), orderDetail.getProductName(),
|
||||||
orderDetail.getNum(), orderDetail.getRemark());
|
orderDetail.getNum(), orderDetail.getRemark(), orderDetail.getNote());
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
// String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
||||||
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 3, 1, machine.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 3, 1, machine.getAddress(), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void returnOrderPrint(TbOrderInfo orderInfo, TbPrintMachine machine, String balance, List<OrderDetailPO.Detail> detailList) {
|
protected void returnOrderPrint(TbOrderInfo orderInfo, TbPrintMachine machine, String balance, List<OrderDetailPO.Detail> detailList) {
|
||||||
TbShopInfo shopInfo = shopInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getShopId()));
|
TbShopInfo shopInfo = shopInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getShopId()));
|
||||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印",
|
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", getPickupNum(orderInfo),
|
||||||
ObjectUtil.isEmpty(orderInfo.getMasterId()) ||
|
|
||||||
ObjectUtil.isNull(orderInfo.getMasterId()) ? orderInfo.getTableName() : orderInfo.getMasterId(),
|
|
||||||
orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())),
|
orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())),
|
||||||
"【POS-1】001", orderInfo.getPayAmount().toPlainString(), balance, orderInfo.getPayType(),
|
"【POS-1】001", orderInfo.getPayAmount().toPlainString(), balance, orderInfo.getPayType(),
|
||||||
"0", detailList, orderInfo.getRemark(), null, null);
|
"0", detailList, orderInfo.getRemark(), null, null);
|
||||||
@@ -71,7 +87,8 @@ public class YxyPrinter extends PrinterHandler{
|
|||||||
String printType = "退款单";
|
String printType = "退款单";
|
||||||
|
|
||||||
String data = PrinterUtils.getCashPrintData(detailPO, printType, "return");
|
String data = PrinterUtils.getCashPrintData(detailPO, printType, "return");
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
// String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
||||||
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 1, 1, machine.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 1, 1, machine.getAddress(), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,7 +97,7 @@ public class YxyPrinter extends PrinterHandler{
|
|||||||
TbShopInfo shopInfo = shopInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getShopId()));
|
TbShopInfo shopInfo = shopInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getShopId()));
|
||||||
|
|
||||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印",
|
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印",
|
||||||
orderInfo.getOrderType().equals("miniapp") ? orderInfo.getTableName() : orderInfo.getMasterId(),
|
getPickupNum(orderInfo),
|
||||||
orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())),
|
orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())),
|
||||||
"【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance,
|
"【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance,
|
||||||
(ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()),
|
(ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()),
|
||||||
@@ -89,7 +106,8 @@ public class YxyPrinter extends PrinterHandler{
|
|||||||
detailPO.setOutNumber(orderInfo.getOutNumber());
|
detailPO.setOutNumber(orderInfo.getOutNumber());
|
||||||
String printType = "结算单";
|
String printType = "结算单";
|
||||||
String data = PrinterUtils.getCashPrintData(detailPO, printType, orderInfo.getOrderType());
|
String data = PrinterUtils.getCashPrintData(detailPO, printType, orderInfo.getOrderType());
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
// String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
||||||
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"\"}";
|
||||||
PrinterUtils.printTickets(voiceJson, 3, 1, machine.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson, 3, 1, machine.getAddress(), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,6 +141,10 @@ public class YxyPrinter extends PrinterHandler{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
String data = PrinterUtils.getPrintData("", "#3",
|
||||||
|
DateUtils.getTime(DateUtil.date()), "九度",
|
||||||
|
Integer.valueOf("20"), "少冰", "加菜防守打法火速地方啊地上1三大法宝苏俄倒海翻江");
|
||||||
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"\"}";
|
||||||
|
PrinterUtils.printTickets(voiceJson, 3, 1, "ZF544PG03W00005", data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -309,7 +309,8 @@ public class CloudPrinterService {
|
|||||||
if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) {
|
if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) {
|
||||||
remark = tbProductSkuWithBLOBs.getSpecSnap();
|
remark = tbProductSkuWithBLOBs.getSpecSnap();
|
||||||
}
|
}
|
||||||
String data = PrinterUtils.getPrintData("return",orderInfo.getPayType().equals("wx_lite")?orderInfo.getTableName():orderInfo.getMasterId(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(), it.getNum(), remark);
|
String data = PrinterUtils.getPrintData("return",orderInfo.getPayType().equals("wx_lite") ?
|
||||||
|
orderInfo.getTableName():orderInfo.getMasterId(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(), it.getNum(), remark, null);
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
||||||
PrinterUtils.printTickets(voiceJson,3, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson,3, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
|
||||||
}
|
}
|
||||||
@@ -345,7 +346,8 @@ public class CloudPrinterService {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
String data = PrinterUtils.getPrintData("",orderInfo.getOrderType().equals("miniapp")?orderInfo.getTableName():orderInfo.getMasterId(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getName(), it.getNumber(), remark);
|
String data = PrinterUtils.getPrintData("",orderInfo.getOrderType().equals("miniapp") ?
|
||||||
|
orderInfo.getTableName():orderInfo.getMasterId(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getName(), it.getNumber(), remark, null);
|
||||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
||||||
|
|
||||||
PrinterUtils.printTickets(voiceJson,3, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
|
PrinterUtils.printTickets(voiceJson,3, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.chaozhanggui.system.cashierservice.service;
|
package com.chaozhanggui.system.cashierservice.service;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.thread.ThreadUtil;
|
import cn.hutool.core.thread.ThreadUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
@@ -15,6 +14,7 @@ import com.chaozhanggui.system.cashierservice.bean.*;
|
|||||||
import com.chaozhanggui.system.cashierservice.dao.*;
|
import com.chaozhanggui.system.cashierservice.dao.*;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.*;
|
import com.chaozhanggui.system.cashierservice.entity.*;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.dto.ChoseCountDTO;
|
import com.chaozhanggui.system.cashierservice.entity.dto.ChoseCountDTO;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.dto.ReturnCartDTO;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.dto.ShopEatTypeInfoDTO;
|
import com.chaozhanggui.system.cashierservice.entity.dto.ShopEatTypeInfoDTO;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.dto.UpdateVipDTO;
|
import com.chaozhanggui.system.cashierservice.entity.dto.UpdateVipDTO;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.po.*;
|
import com.chaozhanggui.system.cashierservice.entity.po.*;
|
||||||
@@ -34,13 +34,13 @@ import org.springframework.beans.BeanUtils;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -86,31 +86,18 @@ public class OrderService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
RabbitProducer producer;
|
RabbitProducer producer;
|
||||||
|
|
||||||
private final WechatUtil wechatUtil;
|
|
||||||
|
|
||||||
private final TbUserShopMsgMapper tbUserShopMsgMapper;
|
|
||||||
|
|
||||||
private final TbShopOpenIdMapper shopOpenIdMapper;
|
private final TbShopOpenIdMapper shopOpenIdMapper;
|
||||||
private final MpShopTableMapper mpShopTableMapper;
|
private final MpShopTableMapper mpShopTableMapper;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private TbProskuConMapper tbProskuConMapper;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
TbConsInfoMapper tbConsInfoMapper;
|
TbConsInfoMapper tbConsInfoMapper;
|
||||||
private final TbCashierCartMapper tbCashierCartMapper;
|
private final TbCashierCartMapper tbCashierCartMapper;
|
||||||
|
|
||||||
|
|
||||||
private static ConcurrentHashMap<String, HashSet<Integer>> codeMap = new ConcurrentHashMap<>();
|
|
||||||
private static ConcurrentHashMap<String, HashSet<String>> userMap = new ConcurrentHashMap<>();
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProductService productService;
|
private ProductService productService;
|
||||||
@Qualifier("printMechineConsumer")
|
@Qualifier("printMechineConsumer")
|
||||||
@Autowired
|
@Autowired
|
||||||
private PrintMechineConsumer printMechineConsumer;
|
private PrintMechineConsumer printMechineConsumer;
|
||||||
@Qualifier("tbOrderDetailMapper")
|
|
||||||
@Autowired
|
|
||||||
private TbOrderDetailMapper tbOrderDetailMapper;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MPOrderDetailMapper mPOrderDetailMapper;
|
private MPOrderDetailMapper mPOrderDetailMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -123,13 +110,18 @@ public class OrderService {
|
|||||||
private MpProductMapper mpProductMapper;
|
private MpProductMapper mpProductMapper;
|
||||||
|
|
||||||
private final MpCashierCartService mpCashierCartService;
|
private final MpCashierCartService mpCashierCartService;
|
||||||
|
@Qualifier("stringRedisTemplate")
|
||||||
|
@Autowired
|
||||||
|
private StringRedisTemplate stringRedisTemplate;
|
||||||
|
@Autowired
|
||||||
|
private RabbitMsgUtils rabbitMsgUtils;
|
||||||
|
|
||||||
|
|
||||||
public OrderService(WxAccountUtil wxAccountUtil, MPCashierCartMapper mpCashierCartMapper, WechatUtil wechatUtil, TbUserShopMsgMapper tbUserShopMsgMapper, TbShopOpenIdMapper shopOpenIdMapper, MpShopTableMapper mpShopTableMapper, TbCashierCartMapper tbCashierCartMapper, MpCashierCartService mpCashierCartService) {
|
public OrderService(WxAccountUtil wxAccountUtil, MPCashierCartMapper mpCashierCartMapper,
|
||||||
|
TbShopOpenIdMapper shopOpenIdMapper, MpShopTableMapper mpShopTableMapper,
|
||||||
|
TbCashierCartMapper tbCashierCartMapper, MpCashierCartService mpCashierCartService) {
|
||||||
this.wxAccountUtil = wxAccountUtil;
|
this.wxAccountUtil = wxAccountUtil;
|
||||||
this.mpCashierCartMapper = mpCashierCartMapper;
|
this.mpCashierCartMapper = mpCashierCartMapper;
|
||||||
this.wechatUtil = wechatUtil;
|
|
||||||
this.tbUserShopMsgMapper = tbUserShopMsgMapper;
|
|
||||||
this.shopOpenIdMapper = shopOpenIdMapper;
|
this.shopOpenIdMapper = shopOpenIdMapper;
|
||||||
this.mpShopTableMapper = mpShopTableMapper;
|
this.mpShopTableMapper = mpShopTableMapper;
|
||||||
this.tbCashierCartMapper = tbCashierCartMapper;
|
this.tbCashierCartMapper = tbCashierCartMapper;
|
||||||
@@ -144,9 +136,10 @@ public class OrderService {
|
|||||||
throw new MsgException("店铺信息不存在");
|
throw new MsgException("店铺信息不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!shopInfo.getEatModel().contains(eatModel)) {
|
if (!"take-out".equals(eatModel) && !shopInfo.getEatModel().contains(eatModel)) {
|
||||||
throw new MsgException("当前店铺未开启此就餐模式");
|
throw new MsgException("当前店铺未开启此就餐模式");
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isTakeout = ShopInfoEatModelEnum.TAKE_OUT.getValue().equals(eatModel);
|
boolean isTakeout = ShopInfoEatModelEnum.TAKE_OUT.getValue().equals(eatModel);
|
||||||
// 是否是快餐版/先付费
|
// 是否是快餐版/先付费
|
||||||
boolean isMunchies = StrUtil.isNotBlank(shopInfo.getRegisterType()) &&
|
boolean isMunchies = StrUtil.isNotBlank(shopInfo.getRegisterType()) &&
|
||||||
@@ -156,7 +149,7 @@ public class OrderService {
|
|||||||
boolean isDineInBefore = isMunchies && !isTakeout;
|
boolean isDineInBefore = isMunchies && !isTakeout;
|
||||||
|
|
||||||
return new ShopEatTypeInfoDTO(isTakeout, isMunchies, isDineInAfter, isDineInBefore, shopInfo, isTakeout ? OrderUseTypeEnum.TAKEOUT.getValue() :
|
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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -270,7 +263,7 @@ public class OrderService {
|
|||||||
if (StringUtils.isEmpty(masterId)) {
|
if (StringUtils.isEmpty(masterId)) {
|
||||||
boolean flag = redisUtil.exists("SHOP:CODE:" + clientType + ":" + shopId);
|
boolean flag = redisUtil.exists("SHOP:CODE:" + clientType + ":" + shopId);
|
||||||
if (flag) {
|
if (flag) {
|
||||||
String code = redisUtil.getMessage("SHOP:CODE:" + clientType + ":" + shopId).toString();
|
String code = redisUtil.getMessage("SHOP:CODE:" + clientType + ":" + shopId);
|
||||||
Integer foodCode = Integer.parseInt(code) + 1;
|
Integer foodCode = Integer.parseInt(code) + 1;
|
||||||
code = "#" + String.format("%03d", foodCode);
|
code = "#" + String.format("%03d", foodCode);
|
||||||
redisUtil.saveMessage("SHOP:CODE:" + clientType + ":" + shopId, foodCode.toString());
|
redisUtil.saveMessage("SHOP:CODE:" + clientType + ":" + shopId, foodCode.toString());
|
||||||
@@ -391,8 +384,39 @@ public class OrderService {
|
|||||||
return Result.success(CodeEnum.SUCCESS, masterId);
|
return Result.success(CodeEnum.SUCCESS, masterId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setRedisTableCartInfo(String tableId, String shopId, List<TbCashierCart> tbCashierCartList, boolean isAdd) {
|
private TbCashierCart getCashierInfo(Object shopId, Object skuId, Object productId, String tableId, String MasterId, ShopEatTypeInfoDTO shopEatTypeInfoDTO) {
|
||||||
String tableCartKey = RedisCst.getTableCartKey(tableId, shopId);
|
LambdaQueryWrapper<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>()
|
||||||
|
.eq(TbCashierCart::getShopId, shopId)
|
||||||
|
.eq(TbCashierCart::getSkuId, skuId)
|
||||||
|
.eq(TbCashierCart::getProductId, productId)
|
||||||
|
.in(TbCashierCart::getStatus, "create")
|
||||||
|
.eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType());
|
||||||
|
|
||||||
|
if (shopEatTypeInfoDTO.isDineInAfter()) {
|
||||||
|
query.isNull(TbCashierCart::getPlaceNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shopEatTypeInfoDTO.isTakeout()) {
|
||||||
|
query.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
|
||||||
|
.eq(TbCashierCart::getMasterId, MasterId);
|
||||||
|
}else {
|
||||||
|
query.eq(TbCashierCart::getTableId, tableId).and(query2 -> query2.and(query3 -> query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
|
||||||
|
.eq(TbCashierCart::getMasterId, MasterId))
|
||||||
|
.or(query4 -> query4.isNull(TbCashierCart::getTradeDay)
|
||||||
|
.and(q -> q.eq(TbCashierCart::getMasterId, "").or().isNull(TbCashierCart::getMasterId))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return mpCashierCartMapper.selectOne(query);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置小程序购物车缓存
|
||||||
|
*/
|
||||||
|
private void setRedisTableCartInfo(String tableId, Object shopId, List<TbCashierCart> tbCashierCartList, boolean isAdd) {
|
||||||
|
String tableCartKey = RedisCst.getTableCartKey(tableId, shopId.toString());
|
||||||
String tableCart = redisUtil.getMessage(tableCartKey);
|
String tableCart = redisUtil.getMessage(tableCartKey);
|
||||||
|
|
||||||
List<TbCashierCart> cartArrayList = new ArrayList<>();
|
List<TbCashierCart> cartArrayList = new ArrayList<>();
|
||||||
@@ -420,7 +444,7 @@ public class OrderService {
|
|||||||
private void checkWarnLineAndSendMsg(TbProductSku productSku, TbProduct product, Integer shopId, Integer num) {
|
private void checkWarnLineAndSendMsg(TbProductSku productSku, TbProduct product, Integer shopId, Integer num) {
|
||||||
log.info("下单,开始校验库存预警,商品信息:{}, {}, {}", product, productSku, num);
|
log.info("下单,开始校验库存预警,商品信息:{}, {}, {}", product, productSku, num);
|
||||||
|
|
||||||
if (product.getWarnLine() == null) {
|
if (productSku.getWarnLine() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -428,16 +452,20 @@ public class OrderService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (productSku.getStockNumber() == null) {
|
||||||
|
productSku.setStockNumber((double) 0);
|
||||||
|
}
|
||||||
|
|
||||||
if (product.getStockNumber() == null) {
|
if (product.getStockNumber() == null) {
|
||||||
product.setStockNumber(0);
|
product.setStockNumber(0);
|
||||||
}
|
}
|
||||||
if (product.getStockNumber() - num <= product.getWarnLine()) {
|
if (
|
||||||
|
(product.getIsDistribute() == 1 && product.getStockNumber() - num <= productSku.getWarnLine())
|
||||||
|
|| (product.getIsDistribute() != 1) && productSku.getStockNumber() - num <= productSku.getWarnLine()
|
||||||
|
) {
|
||||||
List<TbShopOpenId> shopOpenIds = shopOpenIdMapper.selectStateByShopIdAndType(product.getShopId(), ShopWxMsgTypeEnum.STOCK_MSG.getType());
|
List<TbShopOpenId> shopOpenIds = shopOpenIdMapper.selectStateByShopIdAndType(product.getShopId(), ShopWxMsgTypeEnum.STOCK_MSG.getType());
|
||||||
shopOpenIds.forEach(item -> {
|
shopOpenIds.forEach(item -> wxAccountUtil.sendStockWarnMsg("商品库存不足", product.getName(),
|
||||||
wxAccountUtil.sendStockWarnMsg("商品库存不足", product.getName(),
|
product.getIsDistribute() == 1 ? product.getStockNumber() - num : (int) (productSku.getStockNumber() - num), item.getOpenId(), ShopWxMsgTypeEnum.STOCK_MSG, shopId));
|
||||||
product.getStockNumber() - num , item.getOpenId(), ShopWxMsgTypeEnum.STOCK_MSG, shopId);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -666,7 +694,7 @@ public class OrderService {
|
|||||||
.eq(TbCashierCart::getStatus, "create");
|
.eq(TbCashierCart::getStatus, "create");
|
||||||
|
|
||||||
// 外带模式
|
// 外带模式
|
||||||
if (StrUtil.isBlank(orderVo.getTableId())) {
|
if (eatTypeInfoDTO.isTakeout()) {
|
||||||
queryWrapper.eq(TbCashierCart::getMasterId, orderVo.getMasterId())
|
queryWrapper.eq(TbCashierCart::getMasterId, orderVo.getMasterId())
|
||||||
.eq(TbCashierCart::getTradeDay, day)
|
.eq(TbCashierCart::getTradeDay, day)
|
||||||
.eq(TbCashierCart::getUseType, OrderUseTypeEnum.TAKEOUT.getValue())
|
.eq(TbCashierCart::getUseType, OrderUseTypeEnum.TAKEOUT.getValue())
|
||||||
@@ -730,8 +758,9 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询历史orderDetail
|
// 查询历史orderDetail
|
||||||
|
Integer finalOrderId = orderId;
|
||||||
List<TbOrderDetail> oldOrderDetailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
|
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()));
|
.eq(TbOrderDetail::getShopId, orderVo.getShopId()));
|
||||||
HashMap<String, TbOrderDetail> oldOrderDetailMap = new HashMap<>();
|
HashMap<String, TbOrderDetail> oldOrderDetailMap = new HashMap<>();
|
||||||
oldOrderDetailList.forEach(item -> {
|
oldOrderDetailList.forEach(item -> {
|
||||||
@@ -826,7 +855,7 @@ public class OrderService {
|
|||||||
orderInfo.setUserId(orderVo.getUserId());
|
orderInfo.setUserId(orderVo.getUserId());
|
||||||
orderInfo.setUseType(eatTypeInfoDTO.getUseType());
|
orderInfo.setUseType(eatTypeInfoDTO.getUseType());
|
||||||
orderInfo.setPackFee(packAMount);
|
orderInfo.setPackFee(packAMount);
|
||||||
|
orderInfo.setSendType(eatTypeInfoDTO.getSendType());
|
||||||
// 堂食自取增加下单次数
|
// 堂食自取增加下单次数
|
||||||
if (eatTypeInfoDTO.isDineInAfter()) {
|
if (eatTypeInfoDTO.isDineInAfter()) {
|
||||||
orderInfo.setPlaceNum(currentPlaceNum);
|
orderInfo.setPlaceNum(currentPlaceNum);
|
||||||
@@ -854,6 +883,7 @@ public class OrderService {
|
|||||||
if (Objects.nonNull(tbToken)) {
|
if (Objects.nonNull(tbToken)) {
|
||||||
orderInfo.setTokenId(tbToken.getId());
|
orderInfo.setTokenId(tbToken.getId());
|
||||||
}
|
}
|
||||||
|
orderInfo.setSendType(eatTypeInfoDTO.getSendType());
|
||||||
orderInfo.setOutNumber(masterId);
|
orderInfo.setOutNumber(masterId);
|
||||||
mPOrderInfoMapper.insert(orderInfo);
|
mPOrderInfoMapper.insert(orderInfo);
|
||||||
orderId = orderInfo.getId();
|
orderId = orderInfo.getId();
|
||||||
@@ -1665,61 +1695,119 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Object choseCount(ChoseCountDTO choseCountDTO) {
|
public Object choseCount(ChoseCountDTO choseCountDTO) {
|
||||||
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(choseCountDTO.getShopId(), ShopInfoEatModelEnum.DINE_IN.getValue());
|
return Utils.runFunAndCheckKey(() -> {
|
||||||
|
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(choseCountDTO.getShopId(), ShopInfoEatModelEnum.DINE_IN.getValue());
|
||||||
|
TbShopInfo shopInfo = tbShopInfoMapper.selectByPrimaryKey(choseCountDTO.getShopId());
|
||||||
|
if (shopInfo == null) throw new NotPrintException("店铺信息不存在");
|
||||||
|
|
||||||
TbShopInfo shopInfo = tbShopInfoMapper.selectByPrimaryKey(choseCountDTO.getShopId());
|
if (shopInfo.getIsTableFee() != null && shopInfo.getIsTableFee() == 1) {
|
||||||
if (shopInfo == null) throw new NotPrintException("店铺信息不存在");
|
throw new NotPrintException("当前店铺无需选择餐位费");
|
||||||
|
}
|
||||||
|
|
||||||
if (shopInfo.getIsTableFee() != null && shopInfo.getIsTableFee() == 1) {
|
TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper<TbShopTable>()
|
||||||
throw new NotPrintException("当前店铺无需选择餐位费");
|
.eq(TbShopTable::getQrcode, choseCountDTO.getTableId()));
|
||||||
|
if (shopTable == null) {
|
||||||
|
throw new NotPrintException("台桌不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shopTable.getMaxCapacity() < choseCountDTO.getNum()) {
|
||||||
|
throw new NotPrintException("当前台桌最大人数为: " + shopTable.getMaxCapacity());
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>()
|
||||||
|
.eq(TbCashierCart::getShopId, choseCountDTO.getShopId())
|
||||||
|
.and(q -> q.eq(TbCashierCart::getMasterId, choseCountDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId).or().eq(TbCashierCart::getMasterId, ""))
|
||||||
|
.eq(TbCashierCart::getProductId, "-999")
|
||||||
|
.eq(TbCashierCart::getSkuId, "-999")
|
||||||
|
.eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType())
|
||||||
|
.gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime())
|
||||||
|
.eq(TbCashierCart::getStatus, "create")
|
||||||
|
.eq(TbCashierCart::getTableId, choseCountDTO.getTableId());
|
||||||
|
TbCashierCart tbCashierCart = mpCashierCartMapper.selectOne(query);
|
||||||
|
|
||||||
|
if (tbCashierCart == null) {
|
||||||
|
tbCashierCart = new TbCashierCart();
|
||||||
|
tbCashierCart.setStatus("create");
|
||||||
|
tbCashierCart.setCreatedAt(System.currentTimeMillis());
|
||||||
|
tbCashierCart.setTableId(choseCountDTO.getTableId());
|
||||||
|
tbCashierCart.setName("客座费");
|
||||||
|
tbCashierCart.setSalePrice(shopInfo.getTableFee());
|
||||||
|
tbCashierCart.setMasterId(choseCountDTO.getMasterId());
|
||||||
|
tbCashierCart.setShopId(String.valueOf(choseCountDTO.getShopId()));
|
||||||
|
tbCashierCart.setTradeDay(DateUtils.getDay());
|
||||||
|
tbCashierCart.setStatus("create");
|
||||||
|
tbCashierCart.setTotalAmount(new BigDecimal(choseCountDTO.getNum()).multiply(shopInfo.getTableFee()));
|
||||||
|
tbCashierCart.setPlaceNum(1);
|
||||||
|
tbCashierCart.setProductId("-999");
|
||||||
|
tbCashierCart.setSkuId("-999");
|
||||||
|
tbCashierCart.setPackFee(BigDecimal.ZERO);
|
||||||
|
tbCashierCart.setNumber(choseCountDTO.getNum());
|
||||||
|
tbCashierCart.setTotalNumber(choseCountDTO.getNum());
|
||||||
|
tbCashierCartMapper.insert(tbCashierCart);
|
||||||
|
} else {
|
||||||
|
tbCashierCart.setTotalAmount(new BigDecimal(choseCountDTO.getNum()).multiply(shopInfo.getTableFee()));
|
||||||
|
tbCashierCart.setNumber(choseCountDTO.getNum());
|
||||||
|
tbCashierCart.setTotalNumber(choseCountDTO.getNum());
|
||||||
|
mpCashierCartMapper.updateById(tbCashierCart);
|
||||||
|
}
|
||||||
|
|
||||||
|
return tbCashierCart;
|
||||||
|
}, stringRedisTemplate, RedisCst.getLockKey(RedisCst.CHOSE_TABLE_COUNT, choseCountDTO.getShopId(), choseCountDTO.getTableId()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object returnCart(ReturnCartDTO removeCartDTO) {
|
||||||
|
// 会员点单
|
||||||
|
TbCashierCart cashierCart = mpCashierCartMapper.selectOne(new LambdaQueryWrapper<TbCashierCart>()
|
||||||
|
.eq(TbCashierCart::getShopId, removeCartDTO.getShopId())
|
||||||
|
.in(TbCashierCart::getStatus, "create", "refund")
|
||||||
|
.eq(TbCashierCart::getId, removeCartDTO.getCartId()));
|
||||||
|
|
||||||
|
if (cashierCart == null) {
|
||||||
|
throw new MsgException("购物车商品不存在或已退单");
|
||||||
}
|
}
|
||||||
|
|
||||||
TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper<TbShopTable>()
|
TbOrderDetail tbOrderDetail = mPOrderDetailMapper.selectOne(new LambdaQueryWrapper<TbOrderDetail>()
|
||||||
.eq(TbShopTable::getQrcode, choseCountDTO.getTableId()));
|
.eq(TbOrderDetail::getShopId, removeCartDTO.getShopId())
|
||||||
if (shopTable == null) {
|
.eq(TbOrderDetail::getCartId, cashierCart.getId())
|
||||||
throw new NotPrintException("台桌不存在");
|
.eq(TbOrderDetail::getProductId, cashierCart.getProductId())
|
||||||
|
.eq(TbOrderDetail::getProductSkuId, cashierCart.getSkuId())
|
||||||
|
.eq(TbOrderDetail::getOrderId, cashierCart.getOrderId()));
|
||||||
|
if (tbOrderDetail == null) {
|
||||||
|
throw new MsgException("购物车商品不存在或已退单");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shopTable.getMaxCapacity() < choseCountDTO.getNum()) {
|
if (cashierCart.getOrderId() == null) {
|
||||||
throw new NotPrintException("当前台桌最大人数为: " + shopTable.getMaxCapacity());
|
throw new MsgException("此商品还未下单,无需退单");
|
||||||
}
|
}
|
||||||
|
|
||||||
LambdaQueryWrapper<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>()
|
// 餐位费直接删除
|
||||||
.eq(TbCashierCart::getShopId, choseCountDTO.getShopId())
|
if (cashierCart.getId() == -999) {
|
||||||
.eq(TbCashierCart::getMasterId, choseCountDTO.getMasterId())
|
mpCashierCartMapper.deleteById(cashierCart.getId());
|
||||||
.eq(TbCashierCart::getProductId, "-999")
|
if (cashierCart.getOrderId() != null) {
|
||||||
.eq(TbCashierCart::getSkuId, "-999")
|
mPOrderDetailMapper.delete(new LambdaQueryWrapper<TbOrderDetail>()
|
||||||
.eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType())
|
.eq(TbOrderDetail::getCartId, cashierCart.getId()));
|
||||||
.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
|
|
||||||
.eq(TbCashierCart::getTableId, choseCountDTO.getTableId());
|
mPOrderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||||
TbCashierCart tbCashierCart = mpCashierCartMapper.selectOne(query);
|
.eq(TbOrderInfo::getId, cashierCart.getOrderId())
|
||||||
|
.eq(TbOrderInfo::getShopId, removeCartDTO.getShopId())
|
||||||
|
.set(TbOrderInfo::getSeatCount, null)
|
||||||
|
.set(TbOrderInfo::getSeatAmount, null));
|
||||||
|
}
|
||||||
|
|
||||||
if (tbCashierCart == null) {
|
|
||||||
tbCashierCart = new TbCashierCart();
|
|
||||||
tbCashierCart.setStatus("create");
|
|
||||||
tbCashierCart.setCreatedAt(System.currentTimeMillis());
|
|
||||||
tbCashierCart.setTableId(choseCountDTO.getTableId());
|
|
||||||
tbCashierCart.setName("客座费");
|
|
||||||
tbCashierCart.setSalePrice(shopInfo.getTableFee());
|
|
||||||
tbCashierCart.setMasterId(choseCountDTO.getMasterId());
|
|
||||||
tbCashierCart.setShopId(String.valueOf(choseCountDTO.getShopId()));
|
|
||||||
tbCashierCart.setTradeDay(DateUtils.getDay());
|
|
||||||
tbCashierCart.setStatus("create");
|
|
||||||
tbCashierCart.setTotalAmount(new BigDecimal(choseCountDTO.getNum()).multiply(shopInfo.getTableFee()));
|
|
||||||
tbCashierCart.setPlaceNum(1);
|
|
||||||
tbCashierCart.setProductId("-999");
|
|
||||||
tbCashierCart.setSkuId("-999");
|
|
||||||
tbCashierCart.setPackFee(BigDecimal.ZERO);
|
|
||||||
tbCashierCart.setNumber(choseCountDTO.getNum());
|
|
||||||
tbCashierCart.setTotalNumber(choseCountDTO.getNum());
|
|
||||||
tbCashierCartMapper.insert(tbCashierCart);
|
|
||||||
} else {
|
} else {
|
||||||
tbCashierCart.setTotalAmount(new BigDecimal(choseCountDTO.getNum()).multiply(shopInfo.getTableFee()));
|
mpCashierCartMapper.update(null, new LambdaUpdateWrapper<TbCashierCart>()
|
||||||
tbCashierCart.setNumber(choseCountDTO.getNum());
|
.eq(TbCashierCart::getId, cashierCart.getId())
|
||||||
tbCashierCart.setTotalNumber(choseCountDTO.getNum());
|
.set(TbCashierCart::getStatus, "return"));
|
||||||
mpCashierCartMapper.updateById(tbCashierCart);
|
|
||||||
|
mPOrderDetailMapper.update(null, new LambdaUpdateWrapper<TbOrderDetail>()
|
||||||
|
.eq(TbOrderDetail::getId, tbOrderDetail.getId())
|
||||||
|
.set(TbOrderDetail::getUpdateTime, DateUtil.date())
|
||||||
|
.set(TbOrderDetail::getStatus, "return"));
|
||||||
|
|
||||||
|
rabbitMsgUtils.printDishesTicket(tbOrderDetail.getOrderId(), true, tbOrderDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
return tbCashierCart;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1240,7 +1240,9 @@ public class PayService {
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
TbOrderPayment payment = tbOrderPaymentMapper.selectByOrderId(String.valueOf(orderId));
|
TbOrderPayment payment = tbOrderPaymentMapper.selectByOrderId(String.valueOf(orderId));
|
||||||
PublicResp<OrderReturnResp> publicResp = thirdPayService.returnOrder(url, thirdApply.getAppId(), newOrderInfo.getOrderNo(), payment.getTradeNumber(), null, "订单退款", newOrderInfo.getPayAmount().setScale(2, RoundingMode.DOWN).multiply(new BigDecimal(100)).longValue(), callBack, null, thirdApply.getAppToken());
|
PublicResp<OrderReturnResp> publicResp = thirdPayService.returnOrder(url, thirdApply.getAppId(),
|
||||||
|
newOrderInfo.getOrderNo(), payment.getTradeNumber(), null, "订单退款",
|
||||||
|
newOrderInfo.getPayAmount().setScale(2, RoundingMode.DOWN).multiply(new BigDecimal(100)).longValue(), callBack, null, thirdApply.getAppToken());
|
||||||
|
|
||||||
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
|
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
|
||||||
if ("000000".equals(publicResp.getCode())) {
|
if ("000000".equals(publicResp.getCode())) {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||||||
import com.chaozhanggui.system.cashierservice.bean.TableStateEnum;
|
import com.chaozhanggui.system.cashierservice.bean.TableStateEnum;
|
||||||
import com.chaozhanggui.system.cashierservice.dao.*;
|
import com.chaozhanggui.system.cashierservice.dao.*;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.*;
|
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.entity.vo.TbShopTableVO;
|
||||||
import com.chaozhanggui.system.cashierservice.mybatis.MpShopTableMapper;
|
import com.chaozhanggui.system.cashierservice.mybatis.MpShopTableMapper;
|
||||||
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
|
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
|
||||||
@@ -141,4 +142,11 @@ public class ShopInfoService {
|
|||||||
data.put("isReturn", tbShopInfo.getIsReturn());
|
data.put("isReturn", tbShopInfo.getIsReturn());
|
||||||
return Result.success(CodeEnum.SUCCESS,data);
|
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()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,38 +66,41 @@ public class PrinterUtils {
|
|||||||
return finalMap;
|
return finalMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 厨房打印机
|
* 菜品票打印
|
||||||
*
|
* @param type 是否退菜单
|
||||||
* @param pickupNumber
|
* @param pickupNumber 取餐号
|
||||||
* @param date
|
* @param date 时间
|
||||||
* @param productName
|
* @param productName 商品名
|
||||||
* @param number
|
* @param number 数量
|
||||||
* @param remark
|
* @param remark sku规格名
|
||||||
* @return
|
* @param note 备注
|
||||||
*/
|
*/
|
||||||
public static String getPrintData(String type, String pickupNumber, String date, String productName, Integer number, String remark) {
|
public static String getPrintData(String type, String pickupNumber, String date, String productName, Integer number, String remark, String note) {
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
if ("return".equals(type)) {
|
if ("return".equals(type)) {
|
||||||
builder.append("<C><B>" + pickupNumber + "【退】</B></C><BR><BR>");
|
builder.append("<C><B>").append(pickupNumber).append("【退】</B></C><BR><BR>");
|
||||||
} else {
|
} else {
|
||||||
builder.append("<C><B>" + pickupNumber + "</B></C><BR><BR>");
|
builder.append("<C><B>").append(pickupNumber).append("</B></C><BR><BR>");
|
||||||
}
|
}
|
||||||
|
builder.append("<S><L>时间: ").append(date).append(" </L></S><BR><BR><BR>");
|
||||||
|
|
||||||
builder.append("<S><L>时间: " + date + " </L></S><BR><BR><BR>");
|
|
||||||
|
|
||||||
if (productName.length() > 4 || remark.length() > 4) {
|
if (productName.length() > 4 || remark.length() > 4) {
|
||||||
builder.append("<CS:32>" + productName + " " + number + "</CS><BR>");
|
builder.append("<CS:32>").append(productName).append(" ").append(number).append("</CS><BR>");
|
||||||
builder.append("<CS:32>" + remark + " </CS><BR>");
|
if (StrUtil.isNotBlank(remark)) {
|
||||||
|
builder.append("<CS:32>").append(remark).append(" </CS><BR>");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
builder.append("<B>" + productName + " " + number + "</B><BR>");
|
builder.append("<B>").append(productName).append(" ").append(number).append("</B><BR>");
|
||||||
builder.append("<B>" + remark + " </B><BR>");
|
if (StrUtil.isNotBlank(remark)) {
|
||||||
|
builder.append("<B>").append(remark).append(" </B><BR>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(note)) {
|
||||||
|
builder.append("<S><L>备注: ").append(note == null ? "" : note).append(" </L></S><BR>");
|
||||||
}
|
}
|
||||||
builder.append("<OUT:150>");
|
builder.append("<OUT:150>");
|
||||||
builder.append("<PCUT>");
|
builder.append("<PCUT>");
|
||||||
|
|
||||||
return builder.toString();
|
return builder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,18 +110,18 @@ public class PrinterUtils {
|
|||||||
log.info("getCashPrintData detailPO:{},type:{},orderType:{}",JSONUtil.toJSONString(detailPO),type,orderType);
|
log.info("getCashPrintData detailPO:{},type:{},orderType:{}",JSONUtil.toJSONString(detailPO),type,orderType);
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
sb.append("<C><B>" + detailPO.getMerchantName() + "</B></C><BR><BR>");
|
sb.append("<C><B>").append(detailPO.getMerchantName()).append("</B></C><BR><BR>");
|
||||||
sb.append("<C><BOLD>" + type + "【" + detailPO.getMasterId() + "】</BOLD></C><BR><BR>");
|
sb.append("<C><BOLD>").append(type).append("【").append(detailPO.getMasterId()).append("】</BOLD></C><BR><BR>");
|
||||||
if (Objects.nonNull(detailPO.getOutNumber())) {
|
if (Objects.nonNull(detailPO.getOutNumber())) {
|
||||||
sb.append("<CB><BOLD>" + detailPO.getOutNumber() + "</BOLD></CB><BR><BR>");
|
sb.append("<CB><BOLD>").append(detailPO.getOutNumber()).append("</BOLD></CB><BR><BR>");
|
||||||
}
|
}
|
||||||
|
|
||||||
sb.append("<S><L>订单号: " + detailPO.getOrderNo() + " </L></S><BR>");
|
sb.append("<S><L>订单号: ").append(detailPO.getOrderNo()).append(" </L></S><BR>");
|
||||||
sb.append("<S><L>交易时间: " + detailPO.getTradeDate() + " </L></S><BR>");
|
sb.append("<S><L>交易时间: ").append(detailPO.getTradeDate()).append(" </L></S><BR>");
|
||||||
sb.append("<S><L>收银员: " + detailPO.getOperator() + " </L></S><BR><BR><BR>");
|
sb.append("<S><L>收银员: ").append(detailPO.getOperator()).append(" </L></S><BR><BR><BR>");
|
||||||
sb.append("------------------------<BR>");
|
sb.append("------------------------<BR>");
|
||||||
char paddingCharacter = ' ';
|
char paddingCharacter = ' ';
|
||||||
sb.append("<S>" + String.format("%-15s", "品名").replace(' ', paddingCharacter) + String.format("%-4s", "数量").replace(' ', paddingCharacter) + String.format("%4s", "小计").replace(' ', paddingCharacter) + "</S><BR>");
|
sb.append("<S>").append(String.format("%-15s", "品名").replace(' ', paddingCharacter)).append(String.format("%-4s", "数量").replace(' ', paddingCharacter)).append(String.format("%4s", "小计").replace(' ', paddingCharacter)).append("</S><BR>");
|
||||||
for (OrderDetailPO.Detail detail : detailPO.getDetailList()) {
|
for (OrderDetailPO.Detail detail : detailPO.getDetailList()) {
|
||||||
|
|
||||||
if(detail.getProductName().length()>4&&detail.getProductName().length()<=10){
|
if(detail.getProductName().length()>4&&detail.getProductName().length()<=10){
|
||||||
@@ -126,23 +129,23 @@ public class PrinterUtils {
|
|||||||
int count=getProducrName(detail.getProductName());
|
int count=getProducrName(detail.getProductName());
|
||||||
if(count<=0){
|
if(count<=0){
|
||||||
int length=15-(detail.getProductName().length()-4);
|
int length=15-(detail.getProductName().length()-4);
|
||||||
sb.append("<S>"+String.format("%-"+length+"s",detail.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%8s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
|
sb.append("<S>").append(String.format("%-" + length + "s", detail.getProductName()).replace(' ', paddingCharacter)).append(String.format("%-4s", detail.getNumber()).replace(' ', paddingCharacter)).append(String.format("%8s", detail.getAmount()).replace(' ', paddingCharacter)).append("</S><BR>");
|
||||||
}else {
|
}else {
|
||||||
int length=15+count-(detail.getProductName().length()-4);
|
int length=15+count-(detail.getProductName().length()-4);
|
||||||
sb.append("<S>"+String.format("%-"+length+"s",detail.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%8s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
|
sb.append("<S>").append(String.format("%-" + length + "s", detail.getProductName()).replace(' ', paddingCharacter)).append(String.format("%-4s", detail.getNumber()).replace(' ', paddingCharacter)).append(String.format("%8s", detail.getAmount()).replace(' ', paddingCharacter)).append("</S><BR>");
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if(detail.getProductName().length()>10){
|
}else if(detail.getProductName().length()>10){
|
||||||
|
|
||||||
sb.append("<S>"+detail.getProductName()+"</S><BR>");
|
sb.append("<S>").append(detail.getProductName()).append("</S><BR>");
|
||||||
sb.append("<S>"+String.format("%20s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%11s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
|
sb.append("<S>").append(String.format("%20s", detail.getNumber()).replace(' ', paddingCharacter)).append(String.format("%11s", detail.getAmount()).replace(' ', paddingCharacter)).append("</S><BR>");
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
sb.append("<S>"+String.format("%-15s",detail.getProductName()).replace(' ', paddingCharacter)+String.format("%-4s",detail.getNumber()).replace(' ', paddingCharacter)+String.format("%8s",detail.getAmount()).replace(' ', paddingCharacter)+"</S><BR>");
|
sb.append("<S>").append(String.format("%-15s", detail.getProductName()).replace(' ', paddingCharacter)).append(String.format("%-4s", detail.getNumber()).replace(' ', paddingCharacter)).append(String.format("%8s", detail.getAmount()).replace(' ', paddingCharacter)).append("</S><BR>");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(detail.getSpec()!=null&& ObjectUtil.isNotEmpty(detail.getSpec())){
|
if(detail.getSpec()!=null&& ObjectUtil.isNotEmpty(detail.getSpec())){
|
||||||
sb.append("<S>规格:"+detail.getSpec()+"</S><BR>");
|
sb.append("<S>规格:").append(detail.getSpec()).append("</S><BR>");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,76 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.util;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbOrderDetail;
|
||||||
|
import com.chaozhanggui.system.cashierservice.rabbit.RabbitConstants;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.amqp.rabbit.connection.CorrelationData;
|
||||||
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class RabbitMsgUtils implements RabbitTemplate.ConfirmCallback {
|
||||||
|
private final RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
public RabbitMsgUtils(RabbitTemplate rabbitTemplate) {
|
||||||
|
this.rabbitTemplate = rabbitTemplate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void confirm(CorrelationData correlationData, boolean ack, String cause) {
|
||||||
|
log.info(" 回调id:{}", correlationData);
|
||||||
|
if (ack) {
|
||||||
|
log.info("消息成功消费");
|
||||||
|
} else {
|
||||||
|
log.info("消息消费失败:{}", cause);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private <T> void sendMsg(String exchange, String routingKey, T data, String note, boolean isJson) {
|
||||||
|
CorrelationData correlationId = new CorrelationData(UUID.randomUUID().toString());
|
||||||
|
log.info("开始发送{}mq消息, msgId: {}, exchange: {}, routingKey: {}, data: {}", note, correlationId.getId(), exchange, routingKey, data);
|
||||||
|
rabbitTemplate.convertAndSend(exchange, routingKey, isJson ? JSONObject.toJSONString(data) : data, correlationId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> void sendOrderCollectMsg(T data) {
|
||||||
|
sendMsg(RabbitConstants.CART_ORDER_COLLECT_PUT, RabbitConstants.CART_ORDER_COLLECT_ROUTINGKEY_PUT, data, "订单信息收集", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printTicket(String orderId){
|
||||||
|
sendMsg(RabbitConstants.PRINT_MECHINE_COLLECT_PUT, RabbitConstants.PRINT_MECHINE_COLLECT_ROUTINGKEY_PUT, orderId, "打印票", false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> void sendStockMsg(T mqData) {
|
||||||
|
// 发送库存记录mq消息
|
||||||
|
sendMsg(RabbitConstants.EXCHANGE_STOCK_RECORD, RabbitConstants.ROUTING_STOCK_RECORD_SALE, mqData, "库存记录", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printDishesReturnTicket(Integer orderId, Integer... orderIds) {
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("orderId", orderId);
|
||||||
|
jsonObject.put("orderDetailIds", orderIds);
|
||||||
|
jsonObject.put("isReturn", true);
|
||||||
|
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_DISHES, jsonObject, "菜品退单", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printDishesTicket(Integer orderId, boolean isReturn, TbOrderDetail... detailOrderIds) {
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("orderId", orderId);
|
||||||
|
jsonObject.put("orderDetailIds", detailOrderIds);
|
||||||
|
jsonObject.put("isReturn", isReturn);
|
||||||
|
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_DISHES, jsonObject, "菜品打印", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printPlaceTicket(Integer id, boolean isReturn) {
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("orderId", id);
|
||||||
|
jsonObject.put("isReturn", isReturn);
|
||||||
|
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_PLACE, jsonObject, "订单打印", true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -26,6 +26,11 @@ public class RedisCst {
|
|||||||
static String CURRENT_TABLE_ORDER = "CURRENT_TABLE_ORDER:";
|
static String CURRENT_TABLE_ORDER = "CURRENT_TABLE_ORDER:";
|
||||||
public static String TABLE_CART = "TABLE:CART:";
|
public static String TABLE_CART = "TABLE:CART:";
|
||||||
|
|
||||||
|
public static final String LOCK_KEY = "LOCK:";
|
||||||
|
// 选择人数锁
|
||||||
|
public static final String CHOSE_TABLE_COUNT = "CHOSE_TABLE_COUNT";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static String getCurrentOrderKey(String tableId, String shopId) {
|
public static String getCurrentOrderKey(String tableId, String shopId) {
|
||||||
@@ -35,4 +40,14 @@ public class RedisCst {
|
|||||||
public static String getTableCartKey(String tableId, String shopId) {
|
public static String getTableCartKey(String tableId, String shopId) {
|
||||||
return TABLE_CART + tableId + "-" + shopId;
|
return TABLE_CART + tableId + "-" + shopId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getLockKey(String sign, Object... args) {
|
||||||
|
StringBuilder key = new StringBuilder(LOCK_KEY + ":" + sign + ":");
|
||||||
|
for (Object arg : args) {
|
||||||
|
if (arg != null) {
|
||||||
|
key.append(":").append(arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return key.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, shop_id, bar_code, product_id, origin_price, cost_price, member_price, meal_price,
|
id, shop_id, bar_code, product_id, origin_price, cost_price, member_price, meal_price,
|
||||||
sale_price, guide_price, strategy_price, stock_number, cover_img, warn_line, weight,
|
sale_price, guide_price, strategy_price, stock_number, cover_img, weight,
|
||||||
volume, real_sales_number, first_shared, second_shared, created_at, updated_at,suit
|
volume, real_sales_number, first_shared, second_shared, created_at, updated_at,suit
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="Blob_Column_List">
|
<sql id="Blob_Column_List">
|
||||||
|
|||||||
@@ -230,7 +230,8 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="selectTableInfo" resultType="com.chaozhanggui.system.cashierservice.entity.vo.TbShopTableVO">
|
<select id="selectTableInfo" resultType="com.chaozhanggui.system.cashierservice.entity.vo.TbShopTableVO">
|
||||||
select a.*, b.user_id, b.master_id, b.id as orderId, b.order_no as orderNo, b.amount as orderAmount from tb_shop_table a
|
select a.*, b.user_id, b.master_id, b.id as orderId, b.order_no as orderNo, b.amount as orderAmount from tb_shop_table a
|
||||||
left join tb_order_info b on a.qrcode=b.table_id and (b.`status`='unpaid') and b.master_id is not null and b.shop_id=#{shopId} and b.trade_day=#{day} and b.use_type='postPay' and b.order_type='cash'
|
left join tb_order_info b on a.qrcode=b.table_id and (b.`status`='unpaid') and b.master_id is not null
|
||||||
|
and b.shop_id=#{shopId} and b.trade_day=#{day} and b.use_type!='takeout' and b.order_type='cash' and b.created_at > UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY)) * 1000
|
||||||
where a.shop_id=#{shopId}
|
where a.shop_id=#{shopId}
|
||||||
<if test="areaId != null and areaId !=''">
|
<if test="areaId != null and areaId !=''">
|
||||||
and a.area_id = #{areaId}
|
and a.area_id = #{areaId}
|
||||||
|
|||||||
Reference in New Issue
Block a user