Browse Source

修改分页查询告警记录接口的代码

jinshihui 3 ngày trước cách đây
mục cha
commit
95bb63c176

+ 3 - 48
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/AlarmController.java

@@ -1,7 +1,6 @@
 package com.ylx.web.controller.massage;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.common.annotation.Log;
 import com.ylx.common.core.domain.R;
@@ -10,6 +9,7 @@ import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.SecurityUtils;
 import com.ylx.common.utils.StringUtils;
 import com.ylx.massage.domain.Alarm;
+import com.ylx.massage.domain.vo.AlarmListVO;
 import com.ylx.massage.service.AlarmService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -44,10 +44,9 @@ public class AlarmController {
      */
     @GetMapping("getAlarmList")
     @ApiOperation("分页查询告警记录")
-    public R queryByPage(Page<Alarm> page, Alarm alarm) {
+    public R queryByPage(Page<AlarmListVO> page, Alarm alarm) {
         try {
-            LambdaQueryWrapper<Alarm> alarmLambdaQueryWrapper = buildAlarmQueryWrapper(alarm);
-            Page<Alarm> pageSelect = alarmService.page(page, alarmLambdaQueryWrapper);
+            Page<AlarmListVO> pageSelect = alarmService.selectAlarmPage(page, alarm);
             return R.ok(pageSelect);
         } catch (Exception e) {
             e.printStackTrace();
@@ -55,50 +54,6 @@ public class AlarmController {
         }
     }
 
-    /**
-     * 构建告警记录查询条件
-     * @param alarm
-     * @return LambdaQueryWrapper<Alarm>
-     */
-    private LambdaQueryWrapper<Alarm> buildAlarmQueryWrapper(Alarm alarm) {
-        LambdaQueryWrapper<Alarm> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(null != alarm.getAlarmStatus(), Alarm::getAlarmStatus, alarm.getAlarmStatus())
-                /*.like(StringUtils.isNotBlank(alarm.getMerchantName()), Alarm::getMerchantName, alarm.getMerchantName())
-                .like(StringUtils.isNotBlank(alarm.getMerchantNickName()), Alarm::getMerchantNickName, alarm.getMerchantNickName())
-                .eq(null != alarm.getMerchantSex(), Alarm::getMerchantSex, alarm.getMerchantSex())
-                .like(StringUtils.isNotBlank(alarm.getMerchantPhone()), Alarm::getMerchantPhone, alarm.getMerchantPhone())*/
-                .ge(StringUtils.isNotBlank(alarm.getBeginTime()), Alarm::getCreateTime, normalizeBeginTime(alarm.getBeginTime()))
-                .le(StringUtils.isNotBlank(alarm.getEndTime()), Alarm::getCreateTime, normalizeEndTime(alarm.getEndTime()))
-                .orderByDesc(Alarm::getCreateTime);
-        return wrapper;
-    }
-
-    /**
-     * 格式化开始时间
-     * @param beginTime
-     * @return String 格式化后的开始时间
-     */
-    private String normalizeBeginTime(String beginTime) {
-        if (StringUtils.isBlank(beginTime)) {
-            return null;
-        }
-        String value = beginTime.trim();
-        return value.length() == 10 ? value + " 00:00:00" : value;
-    }
-
-    /**
-     * 格式化结束时间
-     * @param endTime
-     * @return String 格式化后的结束时间
-     */
-    private String normalizeEndTime(String endTime) {
-        if (StringUtils.isBlank(endTime)) {
-            return null;
-        }
-        String value = endTime.trim();
-        return value.length() == 10 ? value + " 23:59:59" : value;
-    }
-
     /**
      * 通过主键查询单条数据
      *

+ 26 - 2
nightFragrance-massage/src/main/java/com/ylx/massage/domain/Alarm.java

@@ -101,14 +101,38 @@ public class Alarm implements Serializable {
     private Integer isDelete;
 
     /**
-     * 查询用申请开始时间,不对应数据库字段。
+     * 商户姓名
+     */
+    @TableField(exist = false)
+    private String merchantName;
+
+    /**
+     * 商户昵称
+     */
+    @TableField(exist = false)
+    private String merchantNickName;
+
+    /**
+     * 商户性别(0女 1男)
+     */
+    @TableField(exist = false)
+    private Integer merchantSex;
+
+    /**
+     * 商户电话
+     */
+    @TableField(exist = false)
+    private String merchantPhone;
+
+    /**
+     * 查询用申请开始时间
      */
     @TableField(exist = false)
     @ApiModelProperty("申请开始时间")
     private String beginTime;
 
     /**
-     * 查询用申请结束时间,不对应数据库字段。
+     * 查询用申请结束时间
      */
     @TableField(exist = false)
     @ApiModelProperty("申请结束时间")

+ 29 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/AlarmListVO.java

@@ -0,0 +1,29 @@
+package com.ylx.massage.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class AlarmListVO {
+
+    private String id;
+
+    private String orderNo;
+
+    private String teName;
+
+    private String teNickName;
+
+    private Integer teSex;
+
+    private String avatar;
+
+    private String tePhone;
+
+    private String address;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+}

+ 4 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/AlarmMapper.java

@@ -1,8 +1,9 @@
 package com.ylx.massage.mapper;
 
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.massage.domain.Alarm;
+import com.ylx.massage.domain.vo.AlarmListVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.data.domain.Pageable;
 
@@ -16,6 +17,8 @@ import java.util.List;
  */
 public interface AlarmMapper extends BaseMapper<Alarm> {
 
+    Page<AlarmListVO> selectAlarmPage(Page<AlarmListVO> page, @Param("alarm") Alarm alarm);
+
     /**
      * 通过ID查询单条数据
      *

+ 4 - 12
nightFragrance-massage/src/main/java/com/ylx/massage/service/AlarmService.java

@@ -1,11 +1,9 @@
 package com.ylx.massage.service;
-
-
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ylx.massage.domain.Alarm;
+import com.ylx.massage.domain.vo.AlarmListVO;
 import com.ylx.order.domain.dto.AlarmSubmitDTO;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
 
 /**
  * 报警记录表(YlxAlarm)表服务接口
@@ -15,6 +13,8 @@ import org.springframework.data.domain.PageRequest;
  */
 public interface AlarmService extends IService<Alarm> {
 
+    Page<AlarmListVO> selectAlarmPage(Page<AlarmListVO> page, Alarm alarm);
+
     /**
      * 通过ID查询单条数据
      *
@@ -23,14 +23,6 @@ public interface AlarmService extends IService<Alarm> {
      */
     Alarm queryById(String id);
 
-    /**
-     * 分页查询
-     *
-     * @param alarm    筛选条件
-     * @param pageRequest 分页对象
-     * @return 查询结果
-     */
-    Page<Alarm> queryByPage(Alarm alarm, PageRequest pageRequest);
 
     /**
      * 新增数据

+ 39 - 7
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/AlarmServiceImpl.java

@@ -1,14 +1,15 @@
 package com.ylx.massage.service.impl;
-
-
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.base.BaseServiceImpl;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.DateUtils;
+import com.ylx.common.utils.StringUtils;
 import com.ylx.massage.domain.Alarm;
 import com.ylx.massage.domain.MaTechnician;
+import com.ylx.massage.domain.vo.AlarmListVO;
 import com.ylx.massage.mapper.AlarmMapper;
 import com.ylx.massage.service.AlarmService;
 import com.ylx.massage.service.IMaTechnicianService;
@@ -16,8 +17,6 @@ import com.ylx.order.domain.TOrder;
 import com.ylx.order.domain.dto.AlarmSubmitDTO;
 import com.ylx.order.service.TOrderService;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -41,15 +40,17 @@ public class AlarmServiceImpl extends BaseServiceImpl<AlarmMapper, Alarm> implem
     private IMaTechnicianService maTechnicianService;
 
     @Override
-    public Alarm queryById(String id) {
-        return null;
+    public Page<AlarmListVO> selectAlarmPage(Page<AlarmListVO> page, Alarm alarm) {
+        Alarm query = buildAlarmPageQuery(alarm);
+        return this.baseMapper.selectAlarmPage(page, query);
     }
 
     @Override
-    public Page<Alarm> queryByPage(Alarm alarm, PageRequest pageRequest) {
+    public Alarm queryById(String id) {
         return null;
     }
 
+
     @Override
     public Alarm update(Alarm alarm) {
         return null;
@@ -100,4 +101,35 @@ public class AlarmServiceImpl extends BaseServiceImpl<AlarmMapper, Alarm> implem
 
         return super.save(alarm);
     }
+
+    private Alarm buildAlarmPageQuery(Alarm alarm) {
+        Alarm query = new Alarm();
+        if (alarm == null) {
+            return query;
+        }
+        query.setMerchantName(alarm.getMerchantName());
+        query.setMerchantNickName(alarm.getMerchantNickName());
+        query.setMerchantSex(alarm.getMerchantSex());
+        query.setMerchantPhone(alarm.getMerchantPhone());
+        query.setAlarmStatus(alarm.getAlarmStatus());
+        query.setBeginTime(normalizeBeginTime(alarm.getBeginTime()));
+        query.setEndTime(normalizeEndTime(alarm.getEndTime()));
+        return query;
+    }
+
+    private String normalizeBeginTime(String beginTime) {
+        if (StringUtils.isBlank(beginTime)) {
+            return null;
+        }
+        String value = beginTime.trim();
+        return value.length() == 10 ? value + " 00:00:00" : value;
+    }
+
+    private String normalizeEndTime(String endTime) {
+        if (StringUtils.isBlank(endTime)) {
+            return null;
+        }
+        String value = endTime.trim();
+        return value.length() == 10 ? value + " 23:59:59" : value;
+    }
 }

+ 48 - 0
nightFragrance-massage/src/main/resources/mapper/massage/AlarmMapper.xml

@@ -26,6 +26,54 @@
         <result property="isDelete" column="is_delete" jdbcType="INTEGER"/>
     </resultMap>
 
+    <select id="selectAlarmPage" resultType="com.ylx.massage.domain.vo.AlarmListVO">
+        SELECT
+            a.id AS id,
+            a.order_no AS orderNo,
+            b.te_name AS teName,
+            b.te_nick_name AS teNickName,
+            b.te_sex AS teSex,
+            b.avatar AS avatar,
+            b.te_phone AS tePhone,
+            a.address AS address,
+            a.create_time AS createTime
+        FROM t_alarm a
+        JOIN ma_technician b ON a.merchant_id = b.id
+        <where>
+            a.is_delete = 0
+            AND b.is_delete = 0
+            <!--商户姓名-->
+            <if test="alarm.merchantName != null and alarm.merchantName != ''">
+                AND b.te_name LIKE concat('%', #{alarm.merchantName}, '%')
+            </if>
+            <!--商户昵称-->
+            <if test="alarm.merchantNickName != null and alarm.merchantNickName != ''">
+                AND b.te_nick_name LIKE concat('%', #{alarm.merchantNickName}, '%')
+            </if>
+            <!--商户性别-->
+            <if test="alarm.merchantSex != null">
+                AND b.te_sex = #{alarm.merchantSex}
+            </if>
+            <!--商户电话-->
+            <if test="alarm.merchantPhone != null and alarm.merchantPhone != ''">
+                AND b.te_phone LIKE concat('%', #{alarm.merchantPhone}, '%')
+            </if>
+            <!--告警状态-->
+            <if test="alarm.alarmStatus != null">
+                AND a.alarm_status = #{alarm.alarmStatus}
+            </if>
+            <!--申请开始时间-->
+            <if test="alarm.beginTime != null and alarm.beginTime != ''">
+                AND a.create_time &gt;= #{alarm.beginTime}
+            </if>
+            <!--申请结束时间-->
+            <if test="alarm.endTime != null and alarm.endTime != ''">
+                AND a.create_time &lt;= #{alarm.endTime}
+            </if>
+        </where>
+        ORDER BY a.create_time DESC
+    </select>
+
     <!--查询单个-->
     <select id="queryById" resultMap="YlxAlarmMap">
         select <include refid="AlarmColumns"/>