diff --git a/cash-api/account-server/src/main/java/com/czg/controller/admin/PrintMachineController.java b/cash-api/account-server/src/main/java/com/czg/controller/admin/PrintMachineController.java index 431a8b8e6..2732a7539 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/admin/PrintMachineController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/admin/PrintMachineController.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import com.czg.account.dto.print.PrinterAddDTO; import com.czg.account.dto.print.PrinterDelDTO; import com.czg.account.dto.print.PrinterEditDTO; +import com.czg.account.dto.print.PrinterOrderDTO; import com.czg.account.entity.PrintMachine; import com.czg.account.service.PrintMachineService; import com.czg.annotation.SaAdminCheckPermission; @@ -90,4 +91,14 @@ public class PrintMachineController { return CzgResult.success(printMachineService.remove(new QueryWrapper().eq(PrintMachine::getShopId, StpKit.USER.getShopId()).eq(PrintMachine::getId, printerDelDTO.getId()))); } + /** + * 打印订单 + * @return 是否成功 + */ + @SaAdminCheckPermission(value = "printer:order", name = "打印机打印订单") + @PostMapping("/order") + public CzgResult printOrder(@RequestBody @Validated PrinterOrderDTO printerOrderDTO) { + return CzgResult.success(printMachineService.printOrder(StpKit.USER.getShopId(), printerOrderDTO)); + } + } diff --git a/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopTableController.java b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopTableController.java index aafbc4b65..5cd321af9 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopTableController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopTableController.java @@ -1,19 +1,18 @@ package com.czg.controller.admin; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.czg.account.dto.table.ShopTableAddDTO; import com.czg.account.dto.table.ShopTableBindDTO; +import com.czg.account.dto.table.ShopTableClearDTO; import com.czg.account.dto.table.ShopTableDTO; import com.czg.account.entity.ShopTable; import com.czg.account.service.ShopTableService; +import com.czg.account.vo.ShopTableVO; import com.czg.annotation.SaAdminCheckPermission; import com.czg.exception.ApiNotPrintException; import com.czg.resp.CzgResult; import com.czg.sa.StpKit; -import com.czg.utils.PageUtil; import com.mybatisflex.core.paginate.Page; -import com.mybatisflex.core.query.QueryMethods; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; @@ -56,24 +55,8 @@ public class ShopTableController { */ @SaAdminCheckPermission("shopTable:list") @GetMapping - public CzgResult> list(Integer areaId, String tableCode, String status, String name) { - QueryWrapper queryWrapper = new QueryWrapper().eq(ShopTable::getShopId, StpKit.USER.getShopId()); - if (areaId != null) { - queryWrapper.eq(ShopTable::getAreaId, areaId); - } - - if (StrUtil.isNotBlank(tableCode)) { - queryWrapper.like(ShopTable::getTableCode, tableCode); - } - - if (StrUtil.isNotBlank(status)) { - queryWrapper.eq(ShopTable::getStatus, status); - } - - if (StrUtil.isNotBlank(name)) { - queryWrapper.like(ShopTable::getName, name); - } - return CzgResult.success(shopTableService.page(PageUtil.buildPage(), queryWrapper)); + public CzgResult> list(Integer areaId, String tableCode, String status, String name) { + return CzgResult.success(shopTableService.pageInfo(StpKit.USER.getShopId(), areaId, tableCode, status, name)); } /** @@ -104,8 +87,18 @@ public class ShopTableController { @SaAdminCheckPermission("shopTable:edit") @PutMapping public CzgResult edit(@RequestBody @Validated ShopTableDTO shopTableDTO) { - ShopTable shopTable = BeanUtil.copyProperties(shopTableDTO, ShopTable.class); - return CzgResult.success(shopTableService.update(shopTable, new QueryWrapper().eq(ShopTable::getShopId, StpKit.USER.getShopId()).eq(ShopTable::getId, shopTableDTO.getId()))); + return CzgResult.success(shopTableService.updateInfo(StpKit.USER.getLoginIdAsLong(), shopTableDTO)); + } + + /** + * 台桌清台 + * 权限标识: shopTable:clear + * @return 是否成功 + */ + @SaAdminCheckPermission("shopTable:clear") + @PutMapping("/clear") + public CzgResult clear(@RequestBody @Validated ShopTableClearDTO shopTableClearDTO) { + return CzgResult.success(shopTableService.clear(StpKit.USER.getLoginIdAsLong(), shopTableClearDTO)); } /** @@ -143,4 +136,5 @@ public class ShopTableController { public CzgResult bind(@RequestBody @Validated ShopTableBindDTO shopTableBindDTO) { return CzgResult.success(shopTableService.bind(StpKit.USER.getShopId(), shopTableBindDTO)); } + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/print/PrinterOrderDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/print/PrinterOrderDTO.java new file mode 100644 index 000000000..2e394526c --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/print/PrinterOrderDTO.java @@ -0,0 +1,13 @@ +package com.czg.account.dto.print; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class PrinterOrderDTO { + @NotNull(message = "订单id不为空") + private Long orderId; +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/table/ShopTableClearDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/table/ShopTableClearDTO.java new file mode 100644 index 000000000..139a3021e --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/table/ShopTableClearDTO.java @@ -0,0 +1,34 @@ + +package com.czg.account.dto.table; + +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 台桌配置 实体类。 + * + * @author zs + * @since 2025-02-13 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ShopTableClearDTO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 自增id + */ + @NotNull + private Integer id; +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/PrintMachineService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/PrintMachineService.java index dfd22aa0b..13b89393f 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/PrintMachineService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/PrintMachineService.java @@ -2,6 +2,7 @@ package com.czg.account.service; import com.czg.account.dto.print.PrinterAddDTO; import com.czg.account.dto.print.PrinterEditDTO; +import com.czg.account.dto.print.PrinterOrderDTO; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import com.czg.account.entity.PrintMachine; @@ -18,4 +19,6 @@ public interface PrintMachineService extends IService { Boolean edit(Long shopId, PrinterEditDTO printerEditDTO); + Boolean printOrder(Long shopId, PrinterOrderDTO printerOrderDTO); + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopTableService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopTableService.java index cf493ca9d..8bf041dbf 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopTableService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopTableService.java @@ -2,7 +2,11 @@ package com.czg.account.service; import com.czg.account.dto.table.ShopTableAddDTO; import com.czg.account.dto.table.ShopTableBindDTO; +import com.czg.account.dto.table.ShopTableClearDTO; +import com.czg.account.dto.table.ShopTableDTO; import com.czg.account.entity.ShopTable; +import com.czg.account.vo.ShopTableVO; +import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @@ -27,4 +31,9 @@ public interface ShopTableService extends IService { Boolean bind(Long shopId, ShopTableBindDTO shopTableBindDTO); + Boolean updateInfo(long shopId, ShopTableDTO shopTableDTO); + + Boolean clear(long shopId, ShopTableClearDTO shopTableClearDTO); + + Page pageInfo(Long shopId, Integer areaId, String tableCode, String status, String name); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopTableVO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopTableVO.java new file mode 100644 index 000000000..23debb1d4 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/vo/ShopTableVO.java @@ -0,0 +1,23 @@ + +package com.czg.account.vo; + +import com.czg.account.entity.ShopTable; +import jakarta.validation.constraints.NotNull; +import lombok.*; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 台桌配置 实体类。 + * + * @author zs + * @since 2025-02-13 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class ShopTableVO extends ShopTable { + private Long orderId; + private Long userId; +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopTableMapper.java b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopTableMapper.java index f81df04bc..1f1cebc43 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopTableMapper.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/ShopTableMapper.java @@ -1,7 +1,11 @@ package com.czg.service.account.mapper; +import com.czg.account.vo.ShopTableVO; import com.mybatisflex.core.BaseMapper; import com.czg.account.entity.ShopTable; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 台桌配置 映射层。 @@ -11,4 +15,6 @@ import com.czg.account.entity.ShopTable; */ public interface ShopTableMapper extends BaseMapper { + List pageInfo(@Param("shopId") Long shopId, @Param("areaId") Integer areaId, + @Param("tableCode") String tableCode, @Param("status") String status, @Param("name") String name); } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/PrintMachineServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/PrintMachineServiceImpl.java index 968c66e73..27531b220 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/PrintMachineServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/PrintMachineServiceImpl.java @@ -5,13 +5,19 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.czg.account.dto.print.PrinterAddDTO; import com.czg.account.dto.print.PrinterEditDTO; +import com.czg.account.dto.print.PrinterOrderDTO; +import com.czg.config.RabbitPublisher; import com.czg.exception.ApiNotPrintException; +import com.czg.order.entity.OrderInfo; +import com.czg.order.service.OrderInfoService; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; import com.czg.account.entity.PrintMachine; import com.czg.account.service.PrintMachineService; import com.czg.service.account.mapper.PrintMachineMapper; +import jakarta.annotation.Resource; +import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.stereotype.Service; @@ -24,6 +30,11 @@ import org.springframework.stereotype.Service; @Service @DubboService public class PrintMachineServiceImpl extends ServiceImpl implements PrintMachineService{ + @DubboReference + private OrderInfoService orderInfoService; + + @Resource + private RabbitPublisher rabbitPublisher; @Override public boolean add(Long shopId, PrinterAddDTO dto) { @@ -57,4 +68,19 @@ public class PrintMachineServiceImpl extends ServiceImpl pageInfo(Long shopId, Integer areaId, String tableCode, String status, String name) { + PageHelper.startPage(PageUtil.buildPageHelp()); + return PageUtil.convert(new PageInfo<>(mapper.pageInfo(shopId, areaId, tableCode, status, name))); + } } diff --git a/cash-service/account-service/src/main/resources/mapper/ShopTableMapper.xml b/cash-service/account-service/src/main/resources/mapper/ShopTableMapper.xml index ade4c7150..573a7154c 100644 --- a/cash-service/account-service/src/main/resources/mapper/ShopTableMapper.xml +++ b/cash-service/account-service/src/main/resources/mapper/ShopTableMapper.xml @@ -4,4 +4,26 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +