浏览代码

自定义mapper.xml

houweiyu 4 年之前
父节点
当前提交
953e5494aa

+ 1 - 1
dinner-application/src/main/resources/application-test.properties

@@ -46,7 +46,7 @@ wx.tradeType=JSAPI
 #wx.certName=/cert/apiclient_cert.p12
 wx.certName=/root/user/java/tomcat_dinner_reservation/apiclient_cert.p12
 #支付回调地址
-wx.notifyUrl=https://testshop.4dkankan.com/app/pay/notify
+wx.notifyUrl=https://testeat.4dkankan.com/app/pay/notify
 #获取code的请求地址
 wx.getCode=https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=STAT#wechat_redirect
 #获取Web_access_tokenhttps的请求地址

+ 17 - 0
dinner-core/src/main/java/com/fdage/base/dao/MyDeskDao.java

@@ -0,0 +1,17 @@
+package com.fdage.base.dao;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.fdage.base.entity.TmDesk;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 2 * @Author: Abner
+ * 3 * @Date: 2021/3/5 19:26
+ * 4
+ */
+public interface MyDeskDao extends BaseMapper<TmDesk> {
+
+    public IPage<TmDesk> getDeskListLeftJoinOrder(IPage<TmDesk> page , @Param("ew") QueryWrapper<TmDesk> queryWrapper);
+}

+ 8 - 0
dinner-core/src/main/java/com/fdage/base/dao/TmDeskDao.java

@@ -1,7 +1,13 @@
 package com.fdage.base.dao;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.fdage.base.entity.TmDesk;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
 
 /**
  * <p>
@@ -13,4 +19,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface TmDeskDao extends BaseMapper<TmDesk> {
 
+
+
 }

+ 24 - 0
dinner-core/src/main/java/com/fdage/base/service/impl/TmDeskServiceImpl.java

@@ -1,17 +1,22 @@
 package com.fdage.base.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdage.base.dao.MyDeskDao;
 import com.fdage.base.entity.TmDesk;
 import com.fdage.base.dao.TmDeskDao;
 import com.fdage.base.entity.TmOrder;
 import com.fdage.base.service.ITmDeskService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import net.bytebuddy.asm.Advice;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -27,6 +32,9 @@ import java.util.List;
 public class TmDeskServiceImpl extends ServiceImpl<TmDeskDao, TmDesk> implements ITmDeskService {
 
 
+    @Autowired
+    private MyDeskDao myDeskDao;
+
     public IPage<TmDesk> getListByCanteen(long pageNum , long pageSize , String canteenId){
         IPage<TmDesk> page = new Page<>(pageNum , pageSize);
         if(StringUtils.isBlank(canteenId)){
@@ -41,6 +49,22 @@ public class TmDeskServiceImpl extends ServiceImpl<TmDeskDao, TmDesk> implements
         return getBaseMapper().selectPage(page , lambdaQueryWrapper);
     }
 
+    public IPage<TmDesk> getListByCanteenNew(long pageNum , long pageSize , String canteenId){
+        IPage<TmDesk> page = new Page<>(pageNum , pageSize);
+        if(StringUtils.isBlank(canteenId)){
+            return page;
+        }
+        QueryWrapper<TmDesk> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("desk.canteen_id" , canteenId);
+        queryWrapper.eq("desk.is_delete" , 0);
+        queryWrapper.eq("ord.reserve_date" , LocalDate.now());
+        queryWrapper.orderByAsc("us.id");
+        queryWrapper.orderByDesc("desk.type");
+        queryWrapper.orderByAsc("ord.create_time");
+        queryWrapper.orderByDesc("desk.create_time");
+        return myDeskDao.getDeskListLeftJoinOrder(page, queryWrapper);
+    }
+
     public List<TmDesk> getOrderedDeskList(){
         LambdaQueryWrapper<TmDesk> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(TmDesk::getStatus , 1);

+ 2 - 0
dinner-core/src/main/java/com/fdage/controller/app/AppDeskController.java

@@ -1,5 +1,6 @@
 package com.fdage.controller.app;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.fdage.base.dto.DeskListRspDto;
 import com.fdage.base.entity.TmDesk;
@@ -60,6 +61,7 @@ public class AppDeskController {
             throw new CommonBaseException(ResultCodeEnum.D101 , "餐厅ID缺失");
         }
         IPage<TmDesk> resultPage = tmDeskService.getListByCanteen(pageNum , pageSize , canteenId);
+        log.info("第一次获取到的桌子列表为:{}" , JSON.toJSONString(resultPage.getRecords()));
         List<DeskListRspDto> totalDestList = new ArrayList<>();
         if(null != resultPage && !CollectionUtils.isEmpty(resultPage.getRecords())){
             for (TmDesk desk : resultPage.getRecords()) {

+ 13 - 0
dinner-core/src/main/resources/mybatis/mappers/MyDeskMapper.xml

@@ -0,0 +1,13 @@
+<?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="com.fdage.base.dao.MyDeskDao">
+
+    <select id="getDeskListLeftJoinOrder" resultType="com.fdage.base.entity.TmDesk">
+     select * from tm_desk desk
+         left join tm_order ord on (ord.desk_id = desk.id and ord.is_delete = 0
+         and ord.status = 2 and ord.pay_status = 2)
+         left join tm_user us on (us.id = ord.reserve_user_id and us.is_delete = 0)
+        ${ew.customSqlSegment}
+   </select>
+
+</mapper>

+ 8 - 0
dinner-core/src/main/resources/mybatis/mappers/TmDeskMapper.xml

@@ -2,4 +2,12 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdage.base.dao.TmDeskDao">
 
+    <select id="getDeskListLeftJoinOrder" resultType="com.fdage.base.entity.TmDesk">
+     select * from tm_desk desk
+         left join tm_order ord on (ord.desk_id = desk.id and ord.is_delete = 0
+         and ord.status = 2 and ord.pay_status = 2)
+         left join tm_user us on (us.id = ord.reserve_user_id and us.is_delete = 0)
+        ${ew.customSqlSegment}
+   </select>
+
 </mapper>