Browse Source

pos桌台扫码点餐

gqx 2 years ago
parent
commit
1a8b771028
13 changed files with 778 additions and 7 deletions
  1. 82 7
      jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/HotelController.java
  2. 228 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/controller/MallPosTableOrderGoodsController.java
  3. 178 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/controller/MallPosTableOrderGoodsDetailController.java
  4. 115 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/entity/MallPosTableOrderGoods.java
  5. 65 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/entity/MallPosTableOrderGoodsDetail.java
  6. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/mapper/MallPosTableOrderGoodsDetailMapper.java
  7. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/mapper/MallPosTableOrderGoodsMapper.java
  8. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/mapper/xml/MallPosTableOrderGoodsDetailMapper.xml
  9. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/mapper/xml/MallPosTableOrderGoodsMapper.xml
  10. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/service/IMallPosTableOrderGoodsDetailService.java
  11. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/service/IMallPosTableOrderGoodsService.java
  12. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/service/impl/MallPosTableOrderGoodsDetailServiceImpl.java
  13. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/service/impl/MallPosTableOrderGoodsServiceImpl.java

+ 82 - 7
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/HotelController.java

@@ -36,19 +36,16 @@ import org.jeecg.modules.business.service.*;
 import org.jeecg.modules.business.service.impl.BusMarketMemberServiceImpl;
 import org.jeecg.modules.business.service.impl.BusRoomPayTypeServiceImpl;
 import org.jeecg.modules.business.vo.KeLiItemVo;
-import org.jeecg.modules.mall.entity.MallHotelOrder;
-import org.jeecg.modules.mall.entity.MallOrderGoods;
-import org.jeecg.modules.mall.entity.MallOrderGoodsDetail;
-import org.jeecg.modules.mall.service.IMallHotelOrderService;
-import org.jeecg.modules.mall.service.IMallOrderGoodsDetailService;
-import org.jeecg.modules.mall.service.IMallOrderGoodsService;
+import org.jeecg.modules.mall.entity.*;
+import org.jeecg.modules.mall.service.*;
 import org.jeecg.modules.order.entity.CesOrderComment;
 import org.jeecg.modules.order.service.impl.CesOrderCommentServiceImpl;
+import org.jeecg.modules.pos.entity.PosTable;
+import org.jeecg.modules.pos.service.IPosTableService;
 import org.jeecg.modules.rooms.DTO.CanUseRequestParamDto;
 import org.jeecg.modules.rooms.Vo.CanUseResultVo;
 import org.jeecg.modules.rooms.entity.*;
 import org.jeecg.modules.rooms.service.*;
-import org.jeecg.modules.mall.entity.MallUserInfo;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecg.modules.wxuser.service.IUserInfoService;
@@ -123,6 +120,12 @@ public class HotelController extends WebConfig {
     private IBusLivingCustomerService busLivingCustomerService;
     @Resource
     private IBusMarketMemberService busMarketMemberService;
+    @Resource
+    private IMallPosTableOrderGoodsService mallPosTableOrderGoodsService;
+    @Resource
+    private IMallPosTableOrderGoodsDetailService mallPosTableOrderGoodsDetailService;
+    @Resource
+    private IPosTableService posTableService;
     /**
      * 酒店列表查询
      *
@@ -1040,4 +1043,76 @@ public class HotelController extends WebConfig {
         Boolean isOk = busRoomBookingOrdersService.continueLiving(fees, dueOutTime, livingOrderId, hotelId);
         return Result.OK(isOk);
     }
+
+    /**
+     * 提交pos桌台点餐订单
+     *
+     * @param mallPosTableOrderGoods
+     * @return
+     */
+    @ApiOperation(value = "提交pos桌台点餐订单", notes = "提交pos桌台点餐订单")
+    @PostMapping(value = "/save-pos-table-goods-order")
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
+    @ApiLogin
+    @Transactional(rollbackFor = Exception.class)
+    public Result<String> savePosTableGoodsOrder(@RequestBody MallPosTableOrderGoods mallPosTableOrderGoods) {
+        String tenantId = TenantContextHolder.getTenantId();
+        String userId = ThirdSessionHolder.getUserId();
+
+        if (ObjectUtils.isEmpty(mallPosTableOrderGoods.getDetailList())) {
+            return Result.error("订单商品列表不能为空");
+        }
+
+        mallPosTableOrderGoods.setTenantId(tenantId);
+        mallPosTableOrderGoods.setMallUserId(userId);
+        mallPosTableOrderGoods.setCreateTime(DateTime.now());
+        mallPosTableOrderGoods.setPayStatus(0);
+        mallPosTableOrderGoods.setStatus(1);
+        mallPosTableOrderGoods.setPaymentMethod(1);
+        mallPosTableOrderGoods.setIntegralPayMoney(BigDecimal.ZERO);
+        String prefix = "WM";
+        mallPosTableOrderGoods.setCode(randomNumber(prefix));
+        mallPosTableOrderGoodsService.save(mallPosTableOrderGoods);
+        mallPosTableOrderGoods.getDetailList().forEach(t -> {
+            t.setHotelId(mallPosTableOrderGoods.getHotelId());
+            t.setTenantId(mallPosTableOrderGoods.getTenantId());
+            t.setOrderCode(mallPosTableOrderGoods.getCode());
+        });
+        mallPosTableOrderGoodsDetailService.saveBatch(mallPosTableOrderGoods.getDetailList());
+
+        //创建业务消息信息
+        LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(SysUser::getDelFlag, 0);
+        lambdaQueryWrapper.eq(SysUser::getRelTenantIds, mallPosTableOrderGoods.getTenantId());
+        List<SysUser> sysUsers = sysUserService.list(lambdaQueryWrapper);
+        String userIds = "";
+        for (SysUser sysUser : sysUsers) {
+            userIds += sysUser.getUsername() + ",";
+        }
+        if (userIds.length() > 0) {
+            MessageDTO messageDTO = new MessageDTO();
+            messageDTO.setFromUser("");
+            messageDTO.setToUser(userIds);
+            messageDTO.setTitle("商城桌台点餐订单");
+            messageDTO.setContent("商城桌台点餐订单");
+            messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2);
+            sysBaseAPI.sendSysAnnouncement(messageDTO);
+        }
+        return Result.ok("提交成功");
+    }
+
+    /**
+     * 获取pos桌台详情
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "获取pos桌台详情", notes = "获取pos桌台详情")
+    @GetMapping(value = "/pos-table-info")
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
+    @ApiLogin
+    public Result<PosTable> getPosTableInfo(@RequestParam(name = "id") String id)
+    {
+        PosTable posTable = posTableService.getById(id);
+        return Result.ok(posTable);
+    }
 }

+ 228 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/controller/MallPosTableOrderGoodsController.java

@@ -0,0 +1,228 @@
+package org.jeecg.modules.mall.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang3.ObjectUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.business.entity.BusHotel;
+import org.jeecg.modules.mall.entity.MallOrderGoodsDetail;
+import org.jeecg.modules.mall.entity.MallPosTableOrderGoods;
+import org.jeecg.modules.mall.entity.MallPosTableOrderGoodsDetail;
+import org.jeecg.modules.mall.service.IMallPosTableOrderGoodsDetailService;
+import org.jeecg.modules.mall.service.IMallPosTableOrderGoodsService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.pos.entity.PosRegion;
+import org.jeecg.modules.pos.entity.PosTable;
+import org.jeecg.modules.pos.service.IPosRegionService;
+import org.jeecg.modules.pos.service.IPosTableService;
+import org.jeecg.modules.rooms.service.CesGoodsServiceImpl;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: mall_pos_table_order_goods
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+@Api(tags="mall_pos_table_order_goods")
+@RestController
+@RequestMapping("/mall/mallPosTableOrderGoods")
+@Slf4j
+public class MallPosTableOrderGoodsController extends JeecgController<MallPosTableOrderGoods, IMallPosTableOrderGoodsService> {
+	@Autowired
+	private IMallPosTableOrderGoodsService mallPosTableOrderGoodsService;
+@Resource
+private IPosTableService posTableService;
+@Resource
+private IPosRegionService posRegionService;
+@Resource
+private IMallPosTableOrderGoodsDetailService mallPosTableOrderGoodsDetailService;
+@Resource
+private CesGoodsServiceImpl cesGoodsService;
+	/**
+	 * 分页列表查询
+	 *
+	 * @param mallPosTableOrderGoods
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "mall_pos_table_order_goods-分页列表查询")
+	@ApiOperation(value="mall_pos_table_order_goods-分页列表查询", notes="mall_pos_table_order_goods-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<MallPosTableOrderGoods>> queryPageList(MallPosTableOrderGoods mallPosTableOrderGoods,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<MallPosTableOrderGoods> queryWrapper = QueryGenerator.initQueryWrapper(mallPosTableOrderGoods, req.getParameterMap());
+		Page<MallPosTableOrderGoods> page = new Page<MallPosTableOrderGoods>(pageNo, pageSize);
+		IPage<MallPosTableOrderGoods> pageList = mallPosTableOrderGoodsService.page(page, queryWrapper);
+		pageList.getRecords().forEach(t -> {
+			PosTable posTable = posTableService.getById(t.getPosTableId());
+			if (posTable != null) {
+				t.setTableNo(posTable.getName());
+				PosRegion posRegion = posRegionService.getById(posTable.getPosRegionId());
+				if (posRegion != null) {
+					t.setRegionName(posRegion.getName());
+				}
+			}
+			if (t.getStatus().equals(1)) {
+				t.setStatusName("待接单");
+			} else if (t.getStatus().equals(2)) {
+				t.setStatusName("已接单");
+			} else if (t.getStatus().equals(3)) {
+				t.setStatusName("已完成");
+			} else if (t.getStatus().equals(4)) {
+				t.setStatusName("已拒绝");
+			} else if (t.getStatus().equals(5)) {
+				t.setStatusName("已取消");
+			}
+			LambdaQueryWrapper<MallPosTableOrderGoodsDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(MallPosTableOrderGoodsDetail::getOrderCode, t.getCode());
+			List<MallPosTableOrderGoodsDetail> list=mallPosTableOrderGoodsDetailService.list(lambdaQueryWrapper);
+			if(ObjectUtils.isNotEmpty(list)){
+				list.forEach(i->{
+					i.setGoodsInfo(cesGoodsService.getById(i.getGoodsId()));
+				});
+			}
+			t.setDetailList(list);
+		});
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param mallPosTableOrderGoods
+	 * @return
+	 */
+	@AutoLog(value = "mall_pos_table_order_goods-添加")
+	@ApiOperation(value="mall_pos_table_order_goods-添加", notes="mall_pos_table_order_goods-添加")
+	//@RequiresPermissions("mall:mall_pos_table_order_goods:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody MallPosTableOrderGoods mallPosTableOrderGoods) {
+		mallPosTableOrderGoodsService.save(mallPosTableOrderGoods);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param mallPosTableOrderGoods
+	 * @return
+	 */
+	@AutoLog(value = "mall_pos_table_order_goods-编辑")
+	@ApiOperation(value="mall_pos_table_order_goods-编辑", notes="mall_pos_table_order_goods-编辑")
+	//@RequiresPermissions("mall:mall_pos_table_order_goods:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody MallPosTableOrderGoods mallPosTableOrderGoods) {
+		mallPosTableOrderGoodsService.updateById(mallPosTableOrderGoods);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "mall_pos_table_order_goods-通过id删除")
+	@ApiOperation(value="mall_pos_table_order_goods-通过id删除", notes="mall_pos_table_order_goods-通过id删除")
+	//@RequiresPermissions("mall:mall_pos_table_order_goods:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		mallPosTableOrderGoodsService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "mall_pos_table_order_goods-批量删除")
+	@ApiOperation(value="mall_pos_table_order_goods-批量删除", notes="mall_pos_table_order_goods-批量删除")
+	//@RequiresPermissions("mall:mall_pos_table_order_goods:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.mallPosTableOrderGoodsService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "mall_pos_table_order_goods-通过id查询")
+	@ApiOperation(value="mall_pos_table_order_goods-通过id查询", notes="mall_pos_table_order_goods-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<MallPosTableOrderGoods> queryById(@RequestParam(name="id",required=true) String id) {
+		MallPosTableOrderGoods mallPosTableOrderGoods = mallPosTableOrderGoodsService.getById(id);
+		if(mallPosTableOrderGoods==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(mallPosTableOrderGoods);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param mallPosTableOrderGoods
+    */
+    //@RequiresPermissions("mall:mall_pos_table_order_goods:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, MallPosTableOrderGoods mallPosTableOrderGoods) {
+        return super.exportXls(request, mallPosTableOrderGoods, MallPosTableOrderGoods.class, "mall_pos_table_order_goods");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("mall:mall_pos_table_order_goods:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, MallPosTableOrderGoods.class);
+    }
+
+}

+ 178 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/controller/MallPosTableOrderGoodsDetailController.java

@@ -0,0 +1,178 @@
+package org.jeecg.modules.mall.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.mall.entity.MallPosTableOrderGoodsDetail;
+import org.jeecg.modules.mall.service.IMallPosTableOrderGoodsDetailService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: mall_pos_table_order_goods_detail
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+@Api(tags="mall_pos_table_order_goods_detail")
+@RestController
+@RequestMapping("/mall/mallPosTableOrderGoodsDetail")
+@Slf4j
+public class MallPosTableOrderGoodsDetailController extends JeecgController<MallPosTableOrderGoodsDetail, IMallPosTableOrderGoodsDetailService> {
+	@Autowired
+	private IMallPosTableOrderGoodsDetailService mallPosTableOrderGoodsDetailService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param mallPosTableOrderGoodsDetail
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "mall_pos_table_order_goods_detail-分页列表查询")
+	@ApiOperation(value="mall_pos_table_order_goods_detail-分页列表查询", notes="mall_pos_table_order_goods_detail-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<MallPosTableOrderGoodsDetail>> queryPageList(MallPosTableOrderGoodsDetail mallPosTableOrderGoodsDetail,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<MallPosTableOrderGoodsDetail> queryWrapper = QueryGenerator.initQueryWrapper(mallPosTableOrderGoodsDetail, req.getParameterMap());
+		Page<MallPosTableOrderGoodsDetail> page = new Page<MallPosTableOrderGoodsDetail>(pageNo, pageSize);
+		IPage<MallPosTableOrderGoodsDetail> pageList = mallPosTableOrderGoodsDetailService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param mallPosTableOrderGoodsDetail
+	 * @return
+	 */
+	@AutoLog(value = "mall_pos_table_order_goods_detail-添加")
+	@ApiOperation(value="mall_pos_table_order_goods_detail-添加", notes="mall_pos_table_order_goods_detail-添加")
+	//@RequiresPermissions("mall:mall_pos_table_order_goods_detail:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody MallPosTableOrderGoodsDetail mallPosTableOrderGoodsDetail) {
+		mallPosTableOrderGoodsDetailService.save(mallPosTableOrderGoodsDetail);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param mallPosTableOrderGoodsDetail
+	 * @return
+	 */
+	@AutoLog(value = "mall_pos_table_order_goods_detail-编辑")
+	@ApiOperation(value="mall_pos_table_order_goods_detail-编辑", notes="mall_pos_table_order_goods_detail-编辑")
+	//@RequiresPermissions("mall:mall_pos_table_order_goods_detail:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody MallPosTableOrderGoodsDetail mallPosTableOrderGoodsDetail) {
+		mallPosTableOrderGoodsDetailService.updateById(mallPosTableOrderGoodsDetail);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "mall_pos_table_order_goods_detail-通过id删除")
+	@ApiOperation(value="mall_pos_table_order_goods_detail-通过id删除", notes="mall_pos_table_order_goods_detail-通过id删除")
+	//@RequiresPermissions("mall:mall_pos_table_order_goods_detail:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		mallPosTableOrderGoodsDetailService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "mall_pos_table_order_goods_detail-批量删除")
+	@ApiOperation(value="mall_pos_table_order_goods_detail-批量删除", notes="mall_pos_table_order_goods_detail-批量删除")
+	//@RequiresPermissions("mall:mall_pos_table_order_goods_detail:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.mallPosTableOrderGoodsDetailService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "mall_pos_table_order_goods_detail-通过id查询")
+	@ApiOperation(value="mall_pos_table_order_goods_detail-通过id查询", notes="mall_pos_table_order_goods_detail-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<MallPosTableOrderGoodsDetail> queryById(@RequestParam(name="id",required=true) String id) {
+		MallPosTableOrderGoodsDetail mallPosTableOrderGoodsDetail = mallPosTableOrderGoodsDetailService.getById(id);
+		if(mallPosTableOrderGoodsDetail==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(mallPosTableOrderGoodsDetail);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param mallPosTableOrderGoodsDetail
+    */
+    //@RequiresPermissions("mall:mall_pos_table_order_goods_detail:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, MallPosTableOrderGoodsDetail mallPosTableOrderGoodsDetail) {
+        return super.exportXls(request, mallPosTableOrderGoodsDetail, MallPosTableOrderGoodsDetail.class, "mall_pos_table_order_goods_detail");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("mall:mall_pos_table_order_goods_detail:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, MallPosTableOrderGoodsDetail.class);
+    }
+
+}

+ 115 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/entity/MallPosTableOrderGoods.java

@@ -0,0 +1,115 @@
+package org.jeecg.modules.mall.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: mall_pos_table_order_goods
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+@Data
+@TableName("mall_pos_table_order_goods")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mall_pos_table_order_goods对象", description="mall_pos_table_order_goods")
+public class MallPosTableOrderGoods implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**关联租户*/
+	@Excel(name = "关联租户", width = 15)
+    @ApiModelProperty(value = "关联租户")
+    private String tenantId;
+	/**关联酒店*/
+	@Excel(name = "关联酒店", width = 15)
+    @ApiModelProperty(value = "关联酒店")
+    private String hotelId;
+	/**会员卡id*/
+	@Excel(name = "会员卡id", width = 15)
+    @ApiModelProperty(value = "会员卡id")
+    private String memberId;
+	/**订单号*/
+	@Excel(name = "订单号", width = 15)
+    @ApiModelProperty(value = "订单号")
+    private String code;
+	/**pos桌台id*/
+	@Excel(name = "pos桌台id", width = 15)
+    @ApiModelProperty(value = "pos桌台id")
+    private String posTableId;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+	/**支付方式 1会员卡 2积分 3微信*/
+	@Excel(name = "支付方式 1会员卡 2积分 3微信", width = 15)
+    @ApiModelProperty(value = "支付方式 1会员卡 2积分 3微信")
+    private Integer paymentMethod;
+	/**积分支付价格*/
+	@Excel(name = "积分支付价格", width = 15)
+    @ApiModelProperty(value = "积分支付价格")
+    private BigDecimal integralPayMoney;
+	/**价格*/
+	@Excel(name = "价格", width = 15)
+    @ApiModelProperty(value = "价格")
+    private BigDecimal money;
+	/**付款状态 0未付款 1已付款*/
+	@Excel(name = "付款状态 0未付款 1已付款", width = 15)
+    @ApiModelProperty(value = "付款状态 0未付款 1已付款")
+    private Integer payStatus;
+	/**订单状态 1待接待 2已接单 3已完成 4已拒绝 5已取消*/
+	@Excel(name = "订单状态 1待接待 2已接单 3已完成 4已拒绝 5已取消", width = 15)
+    @ApiModelProperty(value = "订单状态 1待接待 2已接单 3已完成 4已拒绝 5已取消")
+    private Integer status;
+	/**第三方支付单号*/
+	@Excel(name = "第三方支付单号", width = 15)
+    @ApiModelProperty(value = "第三方支付单号")
+    private String thirdOrderNo;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**操作人*/
+	@Excel(name = "操作人", width = 15)
+    @ApiModelProperty(value = "操作人")
+    private String operate;
+    /**商城用户id*/
+    @Excel(name = "商城用户id", width = 15)
+    @ApiModelProperty(value = "商城用户id")
+    private String mallUserId;
+
+    @ApiModelProperty(value = "订单商品列表")
+    @TableField(exist = false)
+    private List<MallPosTableOrderGoodsDetail> detailList;
+
+    @ApiModelProperty(value = "区域")
+    @TableField(exist = false)
+    private String regionName;
+
+    @ApiModelProperty(value = "餐台")
+    @TableField(exist = false)
+    private String tableNo;
+
+    @ApiModelProperty(value = "状态")
+    @TableField(exist = false)
+    private String statusName;
+}

+ 65 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/entity/MallPosTableOrderGoodsDetail.java

@@ -0,0 +1,65 @@
+package org.jeecg.modules.mall.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.modules.rooms.entity.CesGoods;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: mall_pos_table_order_goods_detail
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+@Data
+@TableName("mall_pos_table_order_goods_detail")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="mall_pos_table_order_goods_detail对象", description="mall_pos_table_order_goods_detail")
+public class MallPosTableOrderGoodsDetail implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**关联租户*/
+	@Excel(name = "关联租户", width = 15)
+    @ApiModelProperty(value = "关联租户")
+    private String tenantId;
+	/**关联酒店*/
+	@Excel(name = "关联酒店", width = 15)
+    @ApiModelProperty(value = "关联酒店")
+    private String hotelId;
+	/**订单号*/
+	@Excel(name = "订单号", width = 15)
+    @ApiModelProperty(value = "订单号")
+    private String orderCode;
+	/**商品id*/
+	@Excel(name = "商品id", width = 15)
+    @ApiModelProperty(value = "商品id")
+    private String goodsId;
+	/**数量*/
+	@Excel(name = "数量", width = 15)
+    @ApiModelProperty(value = "数量")
+    private Integer num;
+	/**价格*/
+	@Excel(name = "价格", width = 15)
+    @ApiModelProperty(value = "价格")
+    private BigDecimal money;
+
+	@TableField(exist = false)
+	private CesGoods goodsInfo;
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/mapper/MallPosTableOrderGoodsDetailMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.mall.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.mall.entity.MallPosTableOrderGoodsDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: mall_pos_table_order_goods_detail
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+public interface MallPosTableOrderGoodsDetailMapper extends BaseMapper<MallPosTableOrderGoodsDetail> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/mapper/MallPosTableOrderGoodsMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.mall.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.mall.entity.MallPosTableOrderGoods;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: mall_pos_table_order_goods
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+public interface MallPosTableOrderGoodsMapper extends BaseMapper<MallPosTableOrderGoods> {
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/mapper/xml/MallPosTableOrderGoodsDetailMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mall.mapper.MallPosTableOrderGoodsDetailMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/mapper/xml/MallPosTableOrderGoodsMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.mall.mapper.MallPosTableOrderGoodsMapper">
+
+</mapper>

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/service/IMallPosTableOrderGoodsDetailService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.mall.service;
+
+import org.jeecg.modules.mall.entity.MallPosTableOrderGoodsDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: mall_pos_table_order_goods_detail
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+public interface IMallPosTableOrderGoodsDetailService extends IService<MallPosTableOrderGoodsDetail> {
+
+}

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/service/IMallPosTableOrderGoodsService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.mall.service;
+
+import org.jeecg.modules.mall.entity.MallPosTableOrderGoods;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: mall_pos_table_order_goods
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+public interface IMallPosTableOrderGoodsService extends IService<MallPosTableOrderGoods> {
+
+}

+ 19 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/service/impl/MallPosTableOrderGoodsDetailServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.mall.service.impl;
+
+import org.jeecg.modules.mall.entity.MallPosTableOrderGoodsDetail;
+import org.jeecg.modules.mall.mapper.MallPosTableOrderGoodsDetailMapper;
+import org.jeecg.modules.mall.service.IMallPosTableOrderGoodsDetailService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: mall_pos_table_order_goods_detail
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+@Service
+public class MallPosTableOrderGoodsDetailServiceImpl extends ServiceImpl<MallPosTableOrderGoodsDetailMapper, MallPosTableOrderGoodsDetail> implements IMallPosTableOrderGoodsDetailService {
+
+}

+ 19 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/service/impl/MallPosTableOrderGoodsServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.mall.service.impl;
+
+import org.jeecg.modules.mall.entity.MallPosTableOrderGoods;
+import org.jeecg.modules.mall.mapper.MallPosTableOrderGoodsMapper;
+import org.jeecg.modules.mall.service.IMallPosTableOrderGoodsService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: mall_pos_table_order_goods
+ * @Author: jeecg-boot
+ * @Date:   2023-05-17
+ * @Version: V1.0
+ */
+@Service
+public class MallPosTableOrderGoodsServiceImpl extends ServiceImpl<MallPosTableOrderGoodsMapper, MallPosTableOrderGoods> implements IMallPosTableOrderGoodsService {
+
+}