| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359 |
- package com.happy.action;
- import com.baidubce.model.User;
- import com.happy.Model.Booking;
- import com.happy.Model.weixin.Users;
- import com.happy.Until.*;
- import com.happy.Until.Excel.toExcel;
- import com.happy.common.http.Message;
- import com.happy.dto.BookTypeEto;
- import com.happy.dto.IPage;
- import com.happy.service.BookService;
- import com.happy.service.UserService;
- import com.opensymphony.xwork2.ActionSupport;
- import net.sf.json.JSONObject;
- import org.apache.struts2.ServletActionContext;
- import org.apache.struts2.interceptor.ServletRequestAware;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Vector;
- public class bookAction extends ActionSupport implements ServletRequestAware {
- private HttpServletRequest request;
- public HttpServletResponse response;
- @Resource
- public BookService bookService;
- @Resource
- public UserService userService;
- public int page; // 当前页
- public int rows;// 每页显示的行数rows
- public Integer id;
- public Integer type;
- public String orderStatus;//订单状态
- public String managerId;//商户Id
- public String payStartTime;//支付开始时间
- public String payEndTime;//支付结束时间
- public String ledgerParam;//台账列表查询参数
- public String hotelTownship;//所属乡镇
- public String minTotalPrice;//最小订单总价
- public String maxTotalPrice;//最大订单总价
- public HttpServletRequest getRequest() {
- return request;
- }
- public void setRequest(HttpServletRequest request) {
- this.request = request;
- }
- public void setServletRequest(HttpServletRequest request) {
- this.request = request;
- }
- public HttpServletResponse getResponse() {
- return response;
- }
- public void setResponse(HttpServletResponse response) {
- this.response = response;
- }
- /**
- * 描述:修改订单状态接单、入住、退房、退单、退款
- * @return
- */
- public String updateBookStatus(){
- JSONObject resultJson = new JSONObject();
- if (id == null) {
- resultJson.put("message", "请传入订单id");
- resultJson.put("code", 500);
- ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- return null;
- }
- //根据id获取当前订单信息
- Booking book = bookService.getById(id);
- //获取用户openId
- Users user = userService.queryByUserId(book.getCreateUserid());
- try{
- switch (type){
- case 1://接单
- book.setOrderStatus("3");
- //推送信息
- Message.send(user.getOpenid(),book.getOrderNum(),book.getUserName(),"商家已接单",book.getCreateTime());
- break;
- case 2://入住
- book.setOrderStatus("4");
- break;
- case 3://退房
- book.setOrderStatus("5");
- break;
- case 4://退单
- book.setOrderStatus("8");
- break;
- case 5://退款
- book.setOrderStatus("9");
- break;
- }
- }catch (Exception e){
- }
- bookService.updateBooking(book);
- return null;
- }
- /**
- * 描述:分页查询订单
- * @return
- */
- public String quearyBookPage(){
- JSONObject resultJson = new JSONObject();
- StringBuilder s1 = new StringBuilder("");
- s1.append(" and hotel_manager_id = '").append(managerId).append("'");
- if (ledgerParam!=null){
- s1.append(" and (order_num like '%").append(ledgerParam).append("'")
- .append(" or user_name like '%").append(ledgerParam).append("'")
- .append(" or user_phone like '%").append(ledgerParam).append("')");
- }
- if(orderStatus!=null){
- s1.append(" and order_status = ").append(orderStatus);
- }
- if(payStartTime!=null && payEndTime!=null){
- s1.append(" and pay_time >= '").append(payStartTime).append("'")
- .append(" and pay_time <= '").append(payEndTime).append("'");
- }
- IPage<Booking> bookIPage = bookService.queryPage(s1.toString(),page,rows);
- //获取订单汇总信息
- BookTypeEto bookTypeEto = bookService.getBookStatusSum(s1.toString());
- bookTypeEto.setBookIPage(bookIPage);
- if(bookTypeEto!=null && !"".equals(bookTypeEto)){
- resultJson.put("message", "查询分页成功");
- resultJson.put("code", 200);
- resultJson.put("date", bookTypeEto);
- ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- }else{
- resultJson.put("message", "查询分页失败");
- resultJson.put("code", 500);
- ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- }
- return null;
- }
- /**
- * 描述:导出订单
- * @return
- */
- public String toBookExcel() {
- JSONObject resultJson = new JSONObject();
- StringBuilder s1 = new StringBuilder("");
- if (ledgerParam!=null){
- s1.append(" and (order_num like '%").append(ledgerParam).append("'")
- .append(" or user_name like '%").append(ledgerParam).append("'")
- .append(" or user_phone like '%").append(ledgerParam).append("')");
- }
- if(orderStatus!=null){
- s1.append(" and order_status = ").append(orderStatus);
- }
- if(payStartTime!=null && payEndTime!=null){
- s1.append(" and pay_time >= '").append(payStartTime).append("'")
- .append(" and pay_time <= '").append(payEndTime).append("'");
- }
- List<Booking> list = bookService.queryList(s1.toString()); // 查询分页
- List<Vector> vectorsList = new ArrayList<>();
- if(list==null){
- resultJson.put("code", 500);
- resultJson.put("message", "无数据无法导出");
- ResponseUtil.writeJson(ServletActionContext.getResponse(),
- resultJson.toString());
- }
- for(Booking book:list){
- Vector columnValue = new Vector();
- columnValue.add(book.getOrderNum());
- columnValue.add(book.getOrderName());
- columnValue.add(book.getUserName());
- columnValue.add(book.getUserPhone());
- columnValue.add(book.getHouseName());
- columnValue.add(book.getHouseOrderNumber());
- columnValue.add(book.getHouseTotalPrice());
- columnValue.add(book.getPayTime());
- vectorsList.add(columnValue);
- }
- // 项目路径地址
- String path = request.getSession().getServletContext()
- .getRealPath("/download/");// File.separator
- try{
- Vector columnName = new Vector();
- columnName.add("订单号");
- columnName.add("状态");
- columnName.add("预定人");
- columnName.add("手机号");
- columnName.add("预定房型");
- columnName.add("房间数");
- columnName.add("订单金额(元)");
- columnName.add("支付时间");
- String filePathName ="订单信息" + UUIDUtil.generateID() +"Report.xls";
- // 导出文件
- new toExcel().book(vectorsList, path + filePathName,
- "sheet1", columnName);
- String url = request.getServerName()+":"+request.getServerPort() + request.getSession().getServletContext().getContextPath();
- resultJson.put("downurl", url + "/download/" + filePathName);
- resultJson.put("code", 200);
- resultJson.put("message", "导出成功");
- ResponseUtil.writeJson(ServletActionContext.getResponse(),
- resultJson.toString());
- } catch (Exception e){
- e.printStackTrace();
- }
- return null;
- }
- /**
- * 描述:分页查询台账(查询以消费订单数据)
- * @return
- */
- public String quearyLedgerPage(){
- JSONObject resultJson = new JSONObject();
- StringBuilder s1 = new StringBuilder("");
- s1.append(" and order_status = 5");
- s1.append(" and hotel_manager_id like '%").append(managerId).append("'");
- if (ledgerParam!=null){
- s1.append(" and (order_num like '%").append(ledgerParam).append("'")
- .append(" or user_name like '%").append(ledgerParam).append("'")
- .append(" or user_phone like '%").append(ledgerParam).append("')");
- }
- if(payStartTime!=null && payEndTime!=null){
- s1.append(" and pay_time >= '").append(payStartTime).append("'")
- .append(" and pay_time <= '").append(payEndTime).append("'");
- }
- if(hotelTownship!=null){
- s1.append(" and hotel_township = '").append(payStartTime).append("'");
- }
- if(minTotalPrice!=null){
- s1.append(" and house_total_price >= '").append(minTotalPrice).append("'");
- }
- if(maxTotalPrice!=null){
- s1.append(" and house_total_price <= '").append(maxTotalPrice).append("'");
- }
- IPage<Booking> bookIPage = bookService.queryPage(s1.toString(),page,rows);
- //获取订单汇总信息
- BookTypeEto bookTypeEto = bookService.getBookStatusSum(s1.toString());
- bookTypeEto.setBookIPage(bookIPage);
- if(bookTypeEto!=null && !"".equals(bookTypeEto)){
- resultJson.put("message", "查询分页成功");
- resultJson.put("code", 200);
- resultJson.put("date", bookTypeEto);
- ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- }else{
- resultJson.put("message", "查询分页失败");
- resultJson.put("code", 500);
- ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- }
- return null;
- }
- /**
- * 描述:根据Id查询订单详细
- * @return
- */
- public String getById(){
- JSONObject resultJson = new JSONObject();
- if (id == null) {
- resultJson.put("message", "请传入id");
- resultJson.put("code", 500);
- ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- return null;
- }
- Booking book = bookService.getById(id);
- if (book != null) {
- resultJson.put("message", "查询成功");
- resultJson.put("code", 200);
- resultJson.put("date", book);
- ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- return null;
- }else{
- resultJson.put("message", "未查到用户信息");
- resultJson.put("code", 500);
- ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- return null;
- }
- }
- /**
- * 描述:导出台账
- * @return
- */
- public String toLedgerExcel() {
- JSONObject resultJson = new JSONObject();
- StringBuilder s1 = new StringBuilder("");
- s1.append(" and order_status = 5");
- s1.append(" and hotel_manager_id like '%").append(managerId).append("'");
- if (ledgerParam!=null){
- s1.append(" and (order_num like '%").append(ledgerParam).append("'")
- .append(" or user_name like '%").append(ledgerParam).append("'")
- .append(" or user_phone like '%").append(ledgerParam).append("')");
- }
- if(payStartTime!=null && payEndTime!=null){
- s1.append(" and pay_time >= '").append(payStartTime).append("'")
- .append(" and pay_time <= '").append(payEndTime).append("'");
- }
- if(hotelTownship!=null){
- s1.append(" and hotel_township = '").append(payStartTime).append("'");
- }
- if(minTotalPrice!=null){
- s1.append(" and house_total_price >= '").append(minTotalPrice).append("'");
- }
- if(maxTotalPrice!=null){
- s1.append(" and house_total_price <= '").append(maxTotalPrice).append("'");
- }
- List<Booking> list = bookService.queryList(s1.toString()); // 查询列表
- List<Vector> vectorsList = new ArrayList<>();
- for(Booking book:list){
- Vector columnValue = new Vector();
- columnValue.add(book.getOrderNum());
- columnValue.add(book.getUserName());
- columnValue.add(book.getUserPhone());
- columnValue.add(book.getHouseOrderNumber());
- columnValue.add(book.getPayAccount());
- columnValue.add(book.getPayTime());
- vectorsList.add(columnValue);
- }
- // 项目路径地址
- String path = request.getSession().getServletContext()
- .getRealPath("/download/");// File.separator
- try{
- Vector columnName = new Vector();
- columnName.add("订单号");
- columnName.add("预定人");
- columnName.add("手机号");
- columnName.add("房间数");
- columnName.add("订单金额");
- columnName.add("退房时间");
- String filePathName ="台账信息" + UUIDUtil.generateID() +"Report.xls";
- // 导出文件
- new toExcel().book(vectorsList, path + filePathName,
- "sheet1", columnName);
- String url = request.getServerName()+":"+request.getServerPort() + request.getSession().getServletContext().getContextPath();
- resultJson.put("downurl", url + "/download/" + filePathName);
- resultJson.put("code", 200);
- resultJson.put("message", "导出成功");
- ResponseUtil.writeJson(ServletActionContext.getResponse(),
- resultJson.toString());
- } catch (Exception e){
- e.printStackTrace();
- }
- return null;
- }
- }
|