From 72e086578b8c5d9dccdb51f8840f72f38addc744 Mon Sep 17 00:00:00 2001
From: guyue <1721849008@qq.com>
Date: 星期四, 31 七月 2025 21:25:51 +0800
Subject: [PATCH] 发送行程单接口修改

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/TripSheetVo.java             |   33 +++++
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/TripOrderVo.java             |   32 +++-
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java |   46 +++---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java           |   13 +
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                     |  225 ++++++++++++++++++++++++++-----------
 5 files changed, 242 insertions(+), 107 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index a6f588b..85f4e01 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -17,6 +17,7 @@
 import com.stylefeng.guns.modular.system.dao.SystemPriceMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.model.vo.TripOrderVo;
+import com.stylefeng.guns.modular.system.model.vo.TripSheetVo;
 import com.stylefeng.guns.modular.system.model.vo.UnPayOrderVO;
 import com.stylefeng.guns.modular.system.pdf.TripSheetGenerator;
 import com.stylefeng.guns.modular.system.service.*;
@@ -34,6 +35,9 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -45,6 +49,7 @@
 import java.io.File;
 import java.io.PrintWriter;
 import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -2203,64 +2208,10 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-//            List<Map<String, Object>> list = null;
-//            switch (type){
-//                case 1:
-//                    list = orderPrivateCarService.queryMyTripList(uid, pageNum, size);
-//                    break;
-//                case 2:
-//                    list = orderTaxiService.queryMyTripList(uid, pageNum, size);
-//                    break;
-//                case 3:
-//                    list = orderCrossCityService.queryMyTripList(uid, pageNum, size);
-//                    break;
-//
-//            }
-//
-//            // 将经纬度转换为城市并设置到数据中
-//            if (list != null && !list.isEmpty()) {
-//                for (Map<String, Object> orderMap : list) {
-//                    // 获取经纬度(根据实际字段名调整)
-//                    Object lonObj = orderMap.get("boardingLon");
-//                    Object latObj = orderMap.get("boardingLat");
-//                    //获取公司id
-//                    Object companyId = orderMap.get("companyId");
-//
-//                    Object serverCarModelId =null;
-//                    ServerCarModel serverCarModel = null;
-//                    if (type == 1 || type == 3){
-//                        //获取车型id
-//                         serverCarModelId = orderMap.get("serverCarModelId");
-//                         serverCarModel = serverCarModelService.selectById((Serializable) serverCarModelId);
-//                    }
-//
-//                    if (lonObj != null && latObj != null) {
-//                        String lon = lonObj.toString();
-//                        String lat = latObj.toString();
-//                        Company company = companyService.selectById((Serializable) companyId);
-//
-//                        try {
-//                            // 调用逆地理编码接口获取城市信息
-//                            Map<String, String> geoInfo = gdMapGeocodingUtil.geocode(lon, lat);
-//                            // 将城市信息存入map,供后续转换VO使用
-//                            orderMap.put("city", geoInfo.getOrDefault("city", ""));
-//                            orderMap.put("companyName", company.getName());
-//                            if (serverCarModel != null) {
-//                                orderMap.put("serverCarModel", serverCarModel.getName());
-//                            }
-//                        } catch (Exception e) {
-//                            // 记录转换失败日志,不中断流程
-//                            System.err.println("经纬度转城市失败: " + lon + "," + lat + ",错误: " + e.getMessage());
-//                            orderMap.put("city", ""); // 转换失败时设为空
-//                        }
-//                    } else {
-//                        orderMap.put("city", ""); // 经纬度为空时设为空
-//                    }
-//                }
-//            }
+
             List<Map<String,Object>> raw = fetchTrips(uid, type, pageNum, size);
             return ResultUtil.success(TripOrderVo.getTripOrderVo(raw));
-//            return ResultUtil.success(TripOrderVo.getTripOrderVo(list));
+
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -2349,13 +2300,10 @@
     @PostMapping("/api/user/sendTripSheetEmail")
     @ApiOperation(value = "发送行程单邮件", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
-            @ApiImplicitParam(value = "订单列表", name = "orders", required = false, dataType = "List<OrderWarpper>"),
-            @ApiImplicitParam(value = "收件人邮箱", name = "recipientEmail", required = false, dataType = "String"),
+            @ApiImplicitParam(value = "行程单信息", name = "tripSheet", required = false, dataType = "com.stylefeng.guns.modular.system.model.vo.TripSheetVo"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil sendTripSheetEmail( @RequestParam boolean allOrders,
-                                          @RequestBody(required = false) List<TripOrderVo> orders,
-                                          @RequestParam String recipientEmail,
+    public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet,
                                           HttpServletRequest  request) {
         try {
             // 从Redis中获取当前用户ID
@@ -2363,19 +2311,23 @@
             if (null == uid) {
                 return ResultUtil.tokenErr();
             }
-            if (allOrders) {
+            List<TripOrderVo> orderList = new ArrayList<>();
+            if (tripSheet.isAllOrders()) {
                 // 这里复用 queryMyTripList 逻辑,不分页,type=0 表示全部
                 List<Map<String, Object>> rawList = fetchTrips(uid, 0, null, null);
-                orders = TripOrderVo.getTripOrderVo(rawList);
+                orderList = TripOrderVo.getTripOrderVo(rawList);
             } else {
-                // allOrders=false,需要前端传 orders
-                if (orders == null || orders.isEmpty()) {
-                    return ResultUtil.error("请传入 orders 或者选择全部订单");
+                // 指定订单ID集合:验证并查询订单
+                if (tripSheet.getOrderIdList() == null || tripSheet.getOrderIdList().isEmpty()) {
+                    return ResultUtil.error("请传入订单ID集合或者选择全部订单");
                 }
+                // 根据订单类型和ID查询订单
+                orderList = queryOrdersByTypeAndIds(uid, tripSheet.getOrderType(), tripSheet.getOrderIdList());
             }
-            String filePath = tripSheetGenerator.generatePdf(orders);
+            List<TripOrderVo> tripOrderVos = processTripOrderVos(orderList);
+            String filePath = tripSheetGenerator.generatePdf(tripOrderVos);
             File attachment = new File(filePath);
-            emailUtil.sendEmailWithAttachment(recipientEmail, "行程单", "请查收您的行程单", attachment);
+            emailUtil.sendEmailWithAttachment(tripSheet.getRecipientEmail(), "行程单", "请查收您的行程单", attachment);
             attachment.delete(); // 发送成功后删除临时文件
             return ResultUtil.success("邮件发送成功");
         } catch (Exception e) {
@@ -2383,5 +2335,142 @@
             return ResultUtil.error("邮件发送失败");
         }
     }
+    /**
+     * 根据订单类型和ID集合查询订单
+     */
+    private List<TripOrderVo> queryOrdersByTypeAndIds(Integer userId, Integer orderType, List<Integer> orderIds) throws InvocationTargetException, IllegalAccessException {
+        List<TripOrderVo> orderList = new ArrayList<>();
+
+        // 根据订单类型查询对应表的订单
+        switch (orderType) {
+            case 1:
+                EntityWrapper<OrderPrivateCar> wrapper = new EntityWrapper<>();
+                wrapper.in("id", orderIds);
+                List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(wrapper);
+                for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
+                    TripOrderVo vo = new TripOrderVo();
+                    BeanUtils.copyProperties(orderPrivateCar, vo);
+                    orderList.add(vo);
+                }
+                break;
+            case 2:
+                EntityWrapper<OrderTaxi> wrapper2 = new EntityWrapper<>();
+                wrapper2.in("id", orderIds);
+                List<OrderTaxi> orderTaxis = orderTaxiService.selectList(wrapper2);
+                for (OrderTaxi orderTaxi : orderTaxis) {
+                    TripOrderVo vo = new TripOrderVo();
+                    BeanUtils.copyProperties(orderTaxi, vo);
+                    orderList.add(vo);
+                }
+                break;
+            case 3:
+                EntityWrapper<OrderCrossCity> wrapper3 = new EntityWrapper<>();
+                wrapper3.in("id", orderIds);
+                List<OrderCrossCity> orderCrossCities = orderCrossCityService.selectList(wrapper3);
+                for (OrderCrossCity orderCrossCity : orderCrossCities) {
+                    TripOrderVo vo = new TripOrderVo();
+                    BeanUtils.copyProperties(orderCrossCity, vo);
+                    orderList.add(vo);
+                }
+                break;
+            default:
+                throw new IllegalArgumentException("无效的订单类型:" + orderType);
+        }
+        orderList.sort((a, b) -> {
+            Date da =  a.getBoardingTime();
+            Date db =  b.getBoardingTime();
+            if (da == null && db == null) return 0;
+            if (da == null) return 1;   // a 在后面
+            if (db == null) return -1;  // b 在后面
+            return db.compareTo(da);    // 都不为空,再按时间倒序
+        });
+
+
+        return  orderList;
+    }
+
+    /**
+     * 处理行程订单VO列表,补充经纬度、公司和车型信息
+     */
+    private List<TripOrderVo> processTripOrderVos(List<TripOrderVo> orderVoList) {
+        if (orderVoList == null || orderVoList.isEmpty()) {
+            return new ArrayList<>();
+        }
+
+        for (TripOrderVo orderVo : orderVoList) {
+            // 处理经纬度转城市信息
+            handleGeoInfoForVo(orderVo);
+
+            // 处理公司信息
+            handleCompanyInfoForVo(orderVo);
+
+            // 处理车型信息
+            handleCarModelInfoForVo(orderVo);
+        }
+
+        return orderVoList;
+    }
+
+    /**
+     * 处理经纬度转城市信息
+     */
+    private void handleGeoInfoForVo(TripOrderVo orderVo) {
+        // 直接从VO获取经纬度(假设VO中有对应的getter方法)
+        String lon = String.valueOf(orderVo.getBoardingLon());
+        String lat = String.valueOf(orderVo.getBoardingLat());
+
+        if (StringUtils.isEmpty(lon) || StringUtils.isEmpty(lat)) {
+            orderVo.setCity("");
+            return;
+        }
+
+        try {
+            // 调用逆地理编码接口获取城市信息
+            Map<String, String> geoInfo = gdMapGeocodingUtil.geocode(lon, lat);
+            orderVo.setCity(geoInfo.getOrDefault("city", ""));
+        } catch (Exception e) {
+            // 记录转换失败日志,不中断流程
+            System.err.println("经纬度转城市失败: " + lon + "," + lat + ",错误: " + e.getMessage());
+            orderVo.setCity("");
+        }
+    }
+
+    /**
+     * 处理公司信息
+     */
+    private void handleCompanyInfoForVo(TripOrderVo orderVo) {
+        // 从VO获取公司ID
+        Integer companyId = orderVo.getCompanyId();
+        if (companyId == null) {
+            orderVo.setCompanyName("");
+            return;
+        }
+
+        Company company = companyService.selectById(companyId);
+        if (company != null) {
+            orderVo.setCompanyName(company.getName());
+        } else {
+            orderVo.setCompanyName("");
+        }
+    }
+
+    /**
+     * 处理车型信息
+     */
+    private void handleCarModelInfoForVo(TripOrderVo orderVo) {
+        // 从VO获取车型ID
+        Integer serverCarModelId = orderVo.getServerCarModelId();
+        if (serverCarModelId == null) {
+            orderVo.setServerCarModel("");
+            return;
+        }
+
+        ServerCarModel serverCarModel = serverCarModelService.selectById(serverCarModelId);
+        if (serverCarModel != null) {
+            orderVo.setServerCarModel(serverCarModel.getName());
+        } else {
+            orderVo.setServerCarModel("");
+        }
+    }
 
 }
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/TripOrderVo.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/TripOrderVo.java
index ace2687..b17c46b 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/TripOrderVo.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/TripOrderVo.java
@@ -6,13 +6,12 @@
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Data
 @AllArgsConstructor
@@ -71,9 +70,10 @@
     @ApiModelProperty("上车纬度")
     private Double boardingLat;
     @ApiModelProperty("上车时间")
-    private LocalDateTime boardingTime;
+    private Date boardingTime;  // 从LocalDateTime改为Date
+
     @ApiModelProperty("到达时间")
-    private LocalDateTime arriveTime;
+    private Date arriveTime;    // 从LocalDateTime改为Date
     @ApiModelProperty("城市")
     private String city;
     @ApiModelProperty("服务商")
@@ -82,7 +82,7 @@
     public static List<TripOrderVo> getTripOrderVo(List<Map<String, Object>> maps) {
         List<TripOrderVo> list = new ArrayList<>();
         if (null != maps) {
-            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S");
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
             for (Map<String, Object> map : maps) {
                 TripOrderVo tripOrderVo = new TripOrderVo();
 
@@ -110,10 +110,20 @@
                 tripOrderVo.setBoardingLon(null != map.get("boardingLon") ? Double.valueOf(String.valueOf(map.get("boardingLon"))) : 0D);
                 tripOrderVo.setBoardingLat(null != map.get("boardingLat") ? Double.valueOf(String.valueOf(map.get("boardingLat"))) : 0D);
                 tripOrderVo.setCity(null != map.get("city") ? String.valueOf(map.get("city")) : "");
-                tripOrderVo.setBoardingTime(null != map.get("boardingTime") ?
-                        LocalDateTime.parse(String.valueOf(map.get("boardingTime")), formatter) : null);
-                tripOrderVo.setArriveTime(null != map.get("arriveTime") ?
-                        LocalDateTime.parse(String.valueOf(map.get("arriveTime")), formatter) : null);
+                try {
+                    tripOrderVo.setBoardingTime(null != map.get("boardingTime") ?
+                            sdf.parse(String.valueOf(map.get("boardingTime"))) : null);
+                } catch (ParseException e) {
+                    // 处理解析异常
+                    tripOrderVo.setBoardingTime(null);
+                }
+                try {
+                    tripOrderVo.setArriveTime(null != map.get("arriveTime") ?
+                            sdf.parse(String.valueOf(map.get("arriveTime"))) : null);
+                } catch (ParseException e) {
+                    // 处理解析异常
+                    tripOrderVo.setArriveTime(null);
+                }
                 tripOrderVo.setCompanyName(null != map.get("companyName") ? String.valueOf(map.get("companyName")) : "");
                 tripOrderVo.setCarId(null != map.get("carId") ? Integer.valueOf(String.valueOf(map.get("carId"))) : 0);
                 tripOrderVo.setServerCarModelId(null != map.get("serverCarModelId") ? Integer.valueOf(String.valueOf(map.get("serverCarModelId"))) : 0);
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/TripSheetVo.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/TripSheetVo.java
new file mode 100644
index 0000000..30083dc
--- /dev/null
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/TripSheetVo.java
@@ -0,0 +1,33 @@
+package com.stylefeng.guns.modular.system.model.vo;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Getter
+public class TripSheetVo {
+    @ApiModelProperty(value = "是否获取全部行程订单")
+    private boolean allOrders;
+
+    @ApiModelProperty(value = "行程订单Id")
+    private List<Integer> orderIdList;
+
+    @ApiModelProperty(value = "订单类型,1-专车,2-出租车,3-跨城")
+    private Integer orderType;
+
+    @ApiModelProperty(value = "收件人邮箱")
+    private String recipientEmail;
+
+
+
+
+}
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java
index eb4a023..3d5375d 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/pdf/TripSheetGenerator.java
@@ -142,12 +142,15 @@
         Font infoFont = getChineseFont(10, Font.NORMAL);
         // 申请时间现在的时间
         String applyTime = DATE_TIME_FORMATTER.format(LocalDateTime.now());
+// 首先定义SimpleDateFormat(可以是类的静态成员)
+        SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
-        // 行程时间格式化
+// 然后修改格式化代码
         String tripTimeStart = first.getBoardingTime() != null
-                ? DATE_TIME_FORMATTER.format(first.getBoardingTime()) : "N/A";
+                ? DATE_FORMATTER.format(first.getBoardingTime()) : "N/A";
         String tripTimeEnd = last.getBoardingTime() != null
-                ? DATE_TIME_FORMATTER.format(last.getBoardingTime()) : "N/A";
+                ? DATE_FORMATTER.format(last.getBoardingTime()) : "N/A";
+
         String tripTime = tripTimeStart + " 至 " + tripTimeEnd;
 
         // 总金额计算(修复:先定义 totalText 并拼接内容)
@@ -261,7 +264,7 @@
             cell.setHorizontalAlignment(Element.ALIGN_CENTER);
             table.addCell(cell);
         }
-
+           SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 格式可根据需求调整
         // 单元格样式(居中对齐,统一处理)
         Font cellFont = getChineseFont(9, Font.NORMAL);
         for (int i = 0; i < orders.size(); i++) {
@@ -272,7 +275,7 @@
             addCenteredCell(table, order.getServerCarModel(), cellFont);
             addCenteredCell(table,
                     order.getBoardingTime() != null
-                            ? DATE_TIME_FORMATTER.format(order.getBoardingTime())
+                            ? DATE_FORMATTER.format(order.getBoardingTime())  // Date类型用SimpleDateFormat的format方法
                             : "N/A",
                     cellFont);
             addCenteredCell(table, order.getCity(), cellFont);
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index 37042ea..f63503c 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -235,25 +235,25 @@
             nickName = userInfo.getNickName();
         }
         //调中台接口查询用户
-        List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
-        if (null == infoByPhone || infoByPhone.isEmpty()) {
-            RegisterViaMobileRequest request = new RegisterViaMobileRequest();
-            request.setMobile(phone);
-            request.setEncryptType("aesbase64");
-            request.setPassword(AESUtils.encryptBase64("123456"));
-            request.setNickname(nickName);
-            request.setVerify_code(code);
-            request.setVerify_code_type("0");
-            RegisterViaMobile register = UserUtil.registerViaMobile(request);
-            if (!"0".equals(register.getStatus())) {
-                return ResultUtil.error(register.getDesc());
-            }
-        } else {
-            boolean b = this.checkCaptcha(phone, code);
-            if (!b) {
-                return ResultUtil.error("验证码无效");
-            }
-        }
+//        List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
+//        if (null == infoByPhone || infoByPhone.isEmpty()) {
+//            RegisterViaMobileRequest request = new RegisterViaMobileRequest();
+//            request.setMobile(phone);
+//            request.setEncryptType("aesbase64");
+//            request.setPassword(AESUtils.encryptBase64("123456"));
+//            request.setNickname(nickName);
+//            request.setVerify_code(code);
+//            request.setVerify_code_type("0");
+//            RegisterViaMobile register = UserUtil.registerViaMobile(request);
+//            if (!"0".equals(register.getStatus())) {
+//                return ResultUtil.error(register.getDesc());
+//            }
+//        } else {
+//            boolean b = this.checkCaptcha(phone, code);
+//            if (!b) {
+//                return ResultUtil.error("验证码无效");
+//            }
+//        }
     
         if (null == userInfo) {
             userInfo = new UserInfo();
@@ -476,10 +476,10 @@
     @Override
     public ResultUtil<LoginWarpper> userLogin(String phone, String password,String loginType) throws Exception {
         //调中台接口查询用户
-        List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
-        if (null == infoByPhone || infoByPhone.isEmpty()) {
-            return ResultUtil.error("账号无效");
-        }
+//        List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
+//        if (null == infoByPhone || infoByPhone.isEmpty()) {
+//            return ResultUtil.error("账号无效");
+//        }
     
         UserInfo userInfo = this.queryByPhone(phone);
         if (null == userInfo) {

--
Gitblit v1.7.1