Explorar o código

投诉详情获取

夏文涛 %!s(int64=2) %!d(string=hai) anos
pai
achega
c44516d2b2

+ 2 - 2
mhotel/src/com/happy/action/AppBookingComplaintAction.java

@@ -312,7 +312,7 @@ public class AppBookingComplaintAction extends ActionSupport implements ServletR
 
     /**
      * 投诉进度详情
-     *
+     * 根据订单ID查询订单进度数据
      * @return
      */
     public JSONObject progressDetails() {
@@ -325,7 +325,7 @@ public class AppBookingComplaintAction extends ActionSupport implements ServletR
             return null;
         }
 
-        ProgressDetailsVo vo=bookingComplaintService.progressDetails(complaintId);
+        ProgressDetailsVo vo=bookingComplaintService.progressNewDetail(complaintId);
         jsonObject.put("code", 200);
         jsonObject.put("message", "成功");
         jsonObject.put("success", true);

+ 6 - 0
mhotel/src/com/happy/dao/BookingComplainDao.java

@@ -29,9 +29,15 @@ public interface BookingComplainDao {
 
     ProgressDetailsVo progressDetails(String complaintId);
 
+    ProgressDetailsVo progressNewDetails(String complaintId);
+
     List<DetailsVo> detailsVoList(String complaintId);
 
+    List<DetailsVo> detailsNewVoList(String complaintId);
+
     DetailsVo detailsVo(String complaintId);
 
+    DetailsVo detailsNewVo(String complaintId);
+
     int updateComplain(String id,String status);
 }

+ 79 - 0
mhotel/src/com/happy/dao/impl/BookingComplainImplDao.java

@@ -235,6 +235,37 @@ public class BookingComplainImplDao implements BookingComplainDao {
         return null;
     }
 
+    /**
+     * 投诉订单详情
+     * @param complaintId 投诉订单ID
+     * @return
+     */
+    @Override
+    public ProgressDetailsVo progressNewDetails(String complaintId) {
+        String sql="SELECT\n" +
+                "\tb.order_num as bookingId,\n" +
+                "\tbc.id as complaintId,\n" +
+                "\tbc.title,\n" +
+                "\tbc.content,\n" +
+                "\tbc.create_date as dateTime\n" +
+                "FROM\n" +
+                "\t`booking_complaint` bc " +
+                "LEFT JOIN booking b on b.id=bc.booking_id and b.status_del=1 \n" +
+                " where bc.id=:complaintId";
+        MapSqlParameterSource sps = new MapSqlParameterSource();
+        sps.addValue("complaintId", complaintId);
+        List<ProgressDetailsVo> list = null;
+        try{
+            list = namedParameterJdbcTemplate.query(sql, sps,
+                    new BeanPropertyRowMapper<>(ProgressDetailsVo.class));
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        if(list != null && list.size()>0) return list.get(0);
+        return null;
+    }
+
+
     @Override
     public List<DetailsVo> detailsVoList(String complaintId) {
         String sql="SELECT\n" +
@@ -257,6 +288,29 @@ public class BookingComplainImplDao implements BookingComplainDao {
         return null;
     }
 
+
+    @Override
+    public List<DetailsVo> detailsNewVoList(String complaintId) {
+        String sql="SELECT\n" +
+                "\thcp.progress_type as progressType,\n" +
+                "\thcp.create_date as dateTime \n" +
+                "FROM\n" +
+                "\t`booking_complaint_progress` hcp \n" +
+                "WHERE\n" +
+                "\thcp.complaint_id= :complaintId and hcp.status=1 ORDER BY hcp.create_date DESC ";
+        MapSqlParameterSource sps = new MapSqlParameterSource();
+        sps.addValue("complaintId", complaintId);
+        List<DetailsVo> list = null;
+        try{
+            list = namedParameterJdbcTemplate.query(sql, sps,
+                    new BeanPropertyRowMapper<>(DetailsVo.class));
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        if(list != null && list.size()>0) return list;
+        return null;
+    }
+
     @Override
     public DetailsVo detailsVo(String complaintId) {
         String sql="SELECT\n" +
@@ -283,6 +337,31 @@ public class BookingComplainImplDao implements BookingComplainDao {
     }
 
     @Override
+    public DetailsVo detailsNewVo(String complaintId) {
+        String sql="SELECT\n" +
+                "\tbc.title AS title,\n" +
+                "\tbc.content AS content,\n" +
+                "\tfi2.url as urlList,\n" +
+                "\thcp.create_date as dateTime \n" +
+                "FROM\n" +
+                "\t`booking_complaint_progress` hcp \n" +
+                "LEFT JOIN booking_complaint bc on bc.id=hcp.complaint_id \n" +
+                "LEFT JOIN ( SELECT fi.link_id, GROUP_CONCAT( fi.url ) AS url FROM file_info fi GROUP BY fi.link_id ) fi2 ON fi2.link_id = bc.id\n" +
+                "WHERE hcp.complaint_id= :complaintId and hcp.status=1 ORDER BY hcp.create_date asc";
+        MapSqlParameterSource sps = new MapSqlParameterSource();
+        sps.addValue("complaintId", complaintId);
+        List<DetailsVo> list = null;
+        try{
+            list = namedParameterJdbcTemplate.query(sql, sps,
+                    new BeanPropertyRowMapper<>(DetailsVo.class));
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        if(list != null && list.size()>0) return list.get(0);
+        return null;
+    }
+
+    @Override
     public int updateComplain(String id,String status) {
 
         String sql= " update `booking_complaint` set "+status+" where id=:id";

+ 7 - 0
mhotel/src/com/happy/service/BookingComplaintService.java

@@ -43,5 +43,12 @@ public interface BookingComplaintService {
 
     ProgressDetailsVo progressDetails(String complaintId);
 
+    /**
+     * 投诉详情
+     * @Param complaintId 投诉订单ID
+     * @return
+     */
+    ProgressDetailsVo progressNewDetail(String complaintId);
+
     int updateComplain(String id,String status);
 }

+ 47 - 0
mhotel/src/com/happy/service/impl/BookingComplaintImplService.java

@@ -209,6 +209,53 @@ public class BookingComplaintImplService implements BookingComplaintService {
 
 
     /**
+     * 投诉详情
+     *
+     * @param complaintId 投诉订单ID
+     * @return
+     */
+    @Override
+    public ProgressDetailsVo progressNewDetail(String complaintId) {
+        ProgressDetailsVo vo = bookingComplainDao.progressNewDetails(complaintId);
+
+        List<DetailsVo> detailsVoList = bookingComplainDao.detailsNewVoList(complaintId);
+        if (detailsVoList!=null&&detailsVoList.size()>0) {
+            for (DetailsVo vo1 : detailsVoList) {
+                if (vo1.getProgressType() != null) {
+                    String progressType = vo1.getProgressType();
+                    String valueBykey = ProgressEnum.getValueBykey(Integer.valueOf(progressType));
+                    vo1.setProgressType(valueBykey);
+                }
+            }
+        }
+
+        //获取提交成功的
+        DetailsVo detailsVo = bookingComplainDao.detailsNewVo(complaintId);
+
+        if(detailsVo != null){
+            if (detailsVo.getUrlList() != null) {
+                List<String> dateTimeList = detailsVo.getUrlList();
+                String s = dateTimeList.get(0);
+                String[] split = s.split(",");
+                ArrayList<String> strings = new ArrayList<>();
+                for (int i = 0; i < split.length; i++) {
+                    strings.add(split[i]);
+                }
+                detailsVo.setUrlList(strings);
+            }
+            detailsVo.setProgressType("提交成功");
+
+            detailsVoList.add(detailsVo);
+        }
+
+        if(vo != null){
+            vo.setDetailsVoList(detailsVoList);
+        }
+
+        return vo;
+    }
+
+    /**
      * 更新投诉状态
      *
      * @param id

+ 17 - 8
mhotel/src/com/happy/vo/ProgressDetailsVo.java

@@ -6,20 +6,29 @@ import java.util.List;
 
 @Data
 public class ProgressDetailsVo {
-    //   投诉标题
+    /**
+     * 投诉标题
+     */
     private String title;
 
-
-    //    订单号
+    /**
+     * 订单号
+     */
     private String bookingId;
-//     投诉订单号
+
+    /**
+     * 投诉订单号
+     */
     private String complaintId;
-//    投诉时间
+
+    /**
+     * 投诉时间
+     */
     private String dateTime;
 
-//  详情
+    /**
+     * 投诉进度详情
+     */
     private List<DetailsVo> detailsVoList;
 
-
-
 }