Quellcode durchsuchen

添加获取各乡镇民宿级别与剩余房型

raojiaolong@163.com vor 2 Jahren
Ursprung
Commit
07da44fde2

+ 14 - 0
mhotel/src/com/happy/Model/AdminManager.java

@@ -18,6 +18,12 @@ public class AdminManager {
 
 
 	/**
+	 * 1.银宿级 2.金宿级 3.白金级
+	 */
+	private Integer type;
+
+
+	/**
 	 * 所属商家Id
 	 */
 	private Integer managerId;
@@ -122,6 +128,14 @@ public class AdminManager {
 		this.id = id;
 	}
 
+	public Integer getType() {
+		return type;
+	}
+
+	public void setType(Integer type) {
+		this.type = type;
+	}
+
 	public Integer getManagerId() {
 		return managerId;
 	}

+ 42 - 0
mhotel/src/com/happy/action/adminManagerAction.java

@@ -10,6 +10,7 @@ import com.happy.Until.PwdDefind;
 import com.happy.Until.ResUtil;
 import com.happy.Until.UUIDUtil;
 import com.happy.dto.IPage;
+import com.happy.dto.townshipCountDTO;
 import com.happy.service.*;
 import com.opensymphony.xwork2.ActionSupport;
 import net.sf.json.JSONObject;
@@ -209,6 +210,7 @@ public class adminManagerAction extends ActionSupport implements ServletRequestA
      * @return
      */
     public String updateAdmin() {
+
         JSONObject resultJson = new JSONObject();
         Gson gson = new Gson();
         com.alibaba.fastjson.JSONObject json = GetHttpParam.getRequestParameters(request);
@@ -728,4 +730,44 @@ public class adminManagerAction extends ActionSupport implements ServletRequestA
         return null;
     }
 
+    /**
+     * 描述:获取各乡俗民宿级别数量
+     * @return
+     */
+    public String getTownshipCount(){
+        JSONObject resultjson = new JSONObject();
+        List<townshipCountDTO> list = adminManagerService.getTownshipCount();
+        if (list!=null){
+            resultjson.put("message", "返回成功");
+            resultjson.put("code", 200);
+            resultjson.put("data",list);
+            ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
+            return null;
+        }
+        resultjson.put("message", "数据为空");
+        resultjson.put("code", 205);
+        ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
+        return null;
+    }
+
+    /**
+     * 描述:获取各乡镇剩余房数
+     * @return
+     */
+    public String getResidueCount(){
+        JSONObject resultjson = new JSONObject();
+        List<townshipCountDTO> list = adminManagerService.getResidueCount();
+        if (list!=null){
+            resultjson.put("message", "返回成功");
+            resultjson.put("code", 200);
+            resultjson.put("data",list);
+            ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
+            return null;
+        }
+        resultjson.put("message", "数据为空");
+        resultjson.put("code", 205);
+        ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
+        return null;
+    }
+
 }

+ 13 - 0
mhotel/src/com/happy/dao/AdminManagerDao.java

@@ -1,6 +1,7 @@
 package com.happy.dao;
 
 import com.happy.Model.AdminManager;
+import com.happy.dto.townshipCountDTO;
 import org.apache.poi.ss.formula.functions.T;
 
 import java.util.List;
@@ -59,4 +60,16 @@ public interface AdminManagerDao {
      */
     List<AdminManager> queryList(String sqlx);
 
+    /**
+     * 描述:获取各乡俗民宿级别数量
+     * @return
+     */
+    List<townshipCountDTO> getTownshipCount();
+
+    /**
+     * 描述:获取各乡镇剩余房数
+     * @return
+     */
+    List<townshipCountDTO> getResidueCount();
+
 }

+ 44 - 2
mhotel/src/com/happy/dao/impl/AdminManagerImplDao.java

@@ -6,6 +6,7 @@ import com.happy.Until.Func;
 import com.happy.Until.SqlUtil;
 import com.happy.Until.UUIDUtil;
 import com.happy.dao.AdminManagerDao;
+import com.happy.dto.townshipCountDTO;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
@@ -31,7 +32,7 @@ public class AdminManagerImplDao implements AdminManagerDao {
 
     public String selectSql =
         "select " +
-        "a.id, a.manager_id, a.admin_name, a.hotel_name, a.hotel_township, b.name hotel_township_name, a.corpn_name, a.corpn_phone, a.level, a.admin_power, a.bank_card, a.card_name, a.bank_name, a.create_id, DATE_FORMAT(a.create_date,'%Y-%m-%d %T') create_date,DATE_FORMAT(a.modify_date,'%Y-%m-%d %T') modify_date,a.status,a.remark,a.openid " +
+        "a.id, a.type, a.manager_id, a.admin_name, a.hotel_name, a.hotel_township, b.name hotel_township_name, a.corpn_name, a.corpn_phone, a.level, a.admin_power, a.bank_card, a.card_name, a.bank_name, a.create_id, DATE_FORMAT(a.create_date,'%Y-%m-%d %T') create_date,DATE_FORMAT(a.modify_date,'%Y-%m-%d %T') modify_date,a.status,a.remark,a.openid " +
         "from `admin_manager` a " +
         "left join hotel_dict b on a.hotel_township = b.id";
 
@@ -39,9 +40,10 @@ public class AdminManagerImplDao implements AdminManagerDao {
     @Override
     public int insertAdmin(AdminManager adminManager) {
 
-        String sql = "INSERT INTO admin_manager (id, manager_id, admin_name, password, hotel_name, hotel_township, corpn_name, corpn_phone, level, admin_power, bank_card, card_name, bank_name, create_id, create_date, status, remark) VALUES (:id, :manager_id ,:admin_name, :password, :hotel_name, :hotel_township, :corpn_name, :corpn_phone, :level, :admin_power, :bank_card, :card_name, :bank_name, :create_id, :create_date, :status, :remark)";
+        String sql = "INSERT INTO admin_manager (id, type, manager_id, admin_name, password, hotel_name, hotel_township, corpn_name, corpn_phone, level, admin_power, bank_card, card_name, bank_name, create_id, create_date, status, remark) VALUES (:id, :type, :manager_id ,:admin_name, :password, :hotel_name, :hotel_township, :corpn_name, :corpn_phone, :level, :admin_power, :bank_card, :card_name, :bank_name, :create_id, :create_date, :status, :remark)";
 
         MapSqlParameterSource sps = new MapSqlParameterSource();
+        sps.addValue("type", adminManager.getType());
         sps.addValue("manager_id", adminManager.getManagerId());
         sps.addValue("admin_name", adminManager.getAdminName());
         sps.addValue("password", adminManager.getPassword());
@@ -158,6 +160,46 @@ public class AdminManagerImplDao implements AdminManagerDao {
         return null;
     }
 
+    @Override
+    public List<townshipCountDTO> getTownshipCount(){
+        String sql = "select a.name,count(1) sumNumber,case when b.type=1 then 1 else 0 end aSum,case when b.type=2 then 1 else 0 end bSum,case when b.type=3 then 1 else 0 end cSum from \n" +
+                "(select * from hotel_dict where code = 10 ) a\n" +
+                "left join (select a.*,b.hstatus from admin_manager a\n" +
+                "left join hotel b on a.id = b.manager_id\n" +
+                "where b.hstatus = 1 and a.status = 1) b on b.hotel_township = a.id\n" +
+                "group by a.id ORDER BY count(1) DESC";
+        List<townshipCountDTO> list = null;
+        try{
+            list = namedParameterJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(townshipCountDTO.class));
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        if(list != null && list.size()>0) return list;
+        return null;
+    }
+
+    @Override
+    public List<townshipCountDTO> getResidueCount(){
+        String sql = "select a.name,ifnull(b.number,0) residueNumber from \n" +
+                "(select * from hotel_dict where code = 10 ) a\n" +
+                "left join (select d.hotel_township,sum(a.number-ifnull(b.number,0)) number from \n" +
+                "(select id,manager_id,number from house where status = 1) a\n" +
+                "left join (select house_id,count(1) number from booking where DATE_FORMAT(order_start_time,'%Y-%m-%d') = CURDATE() and order_status in (2,3,4) GROUP BY house_id) b on a.id = b.house_id\n" +
+                "left join hotel c on c.manager_id = a.manager_id\n" +
+                "left join admin_manager d on d.id = c.manager_id\n" +
+                "where c.hstatus = 1\n" +
+                "GROUP BY d.hotel_township) b on a.id = b.hotel_township\n" +
+                "ORDER BY number";
+        List<townshipCountDTO> list = null;
+        try{
+            list = namedParameterJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(townshipCountDTO.class));
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        if(list != null && list.size()>0) return list;
+        return null;
+    }
+
     public void appendValue(AdminManager adminManager, StringBuffer stringBuffer, MapSqlParameterSource sps){
         if (!Func.checkNull(adminManager.getAdminName())){
             stringBuffer.append(" admin_name=:admin_name ,");

+ 64 - 0
mhotel/src/com/happy/dto/townshipCountDTO.java

@@ -0,0 +1,64 @@
+package com.happy.dto;
+
+public class townshipCountDTO {
+
+    public String name;//所属乡宿名称
+
+    public Integer sumNumber;//总数
+
+    public Integer aSum;//银宿级
+
+    public Integer bSum;//金数级
+
+    public Integer cSum;//白金级数
+
+    public Integer residueNumber;//剩余房数
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getSumNumber() {
+        return sumNumber;
+    }
+
+    public void setSumNumber(Integer sumNumber) {
+        this.sumNumber = sumNumber;
+    }
+
+    public Integer getaSum() {
+        return aSum;
+    }
+
+    public void setaSum(Integer aSum) {
+        this.aSum = aSum;
+    }
+
+    public Integer getbSum() {
+        return bSum;
+    }
+
+    public void setbSum(Integer bSum) {
+        this.bSum = bSum;
+    }
+
+    public Integer getcSum() {
+        return cSum;
+    }
+
+    public void setcSum(Integer cSum) {
+        this.cSum = cSum;
+    }
+
+    public Integer getResidueNumber() {
+        return residueNumber;
+    }
+
+    public void setResidueNumber(Integer residueNumber) {
+        this.residueNumber = residueNumber;
+    }
+}

+ 13 - 0
mhotel/src/com/happy/service/AdminManagerService.java

@@ -2,6 +2,7 @@ package com.happy.service;
 
 import com.happy.Model.AdminManager;
 import com.happy.dto.IPage;
+import com.happy.dto.townshipCountDTO;
 
 import java.util.List;
 
@@ -58,4 +59,16 @@ public interface AdminManagerService {
      */
     AdminManager getOen(String sqlx);
 
+    /**
+     * 描述:获取各乡俗民宿级别数量
+     * @return
+     */
+    List<townshipCountDTO> getTownshipCount();
+
+    /**
+     * 描述:获取各乡镇剩余房数
+     * @return
+     */
+    List<townshipCountDTO> getResidueCount();
+
 }

+ 11 - 0
mhotel/src/com/happy/service/impl/AdminManagerImplService.java

@@ -4,6 +4,7 @@ import com.happy.Model.Admin;
 import com.happy.Model.AdminManager;
 import com.happy.dto.IPage;
 import com.happy.dao.AdminManagerDao;
+import com.happy.dto.townshipCountDTO;
 import com.happy.service.AdminManagerService;
 import org.springframework.stereotype.Service;
 
@@ -60,4 +61,14 @@ public class AdminManagerImplService implements AdminManagerService {
         if(list!=null && list.size()>0) return list.get(0);
         return null;
     }
+
+    @Override
+    public List<townshipCountDTO> getTownshipCount() {
+        return adminManagerDao.getTownshipCount();
+    }
+
+    @Override
+    public List<townshipCountDTO> getResidueCount() {
+        return adminManagerDao.getResidueCount();
+    }
 }