package com.matrix.system.hive.action; import com.matrix.core.anotations.RemoveRequestToken; import com.matrix.core.anotations.SaveRequestToken; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.WebUtil; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.dao.SysUsersDao; import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.bean.Onlinebooking; import com.matrix.system.hive.bean.SysShopInfo; import com.matrix.system.hive.dao.OnlinebookingDao; import com.matrix.system.hive.dao.SysShopInfoDao; import com.matrix.core.tools.DateUtil; import com.matrix.system.hive.plugin.util.ExcelUtil; import com.matrix.system.hive.service.OnlinebookingService; import com.matrix.system.shopXcx.bean.ShopProduct; import com.matrix.system.shopXcx.dao.ShopProductDao; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * * @date 2016-10-10 15:23 */ @Controller @RequestMapping(value = "admin/onlinebooking") public class OnlinebookingController extends BaseController{ @Resource private OnlinebookingService currentService; @Autowired private OnlinebookingDao onlinebookingDao; @Autowired private ShopProductDao productDao; @Autowired SysUsersDao staffInfoDao; @Autowired SysShopInfoDao shopInfoDao; /** * 列表显示 */ @RequestMapping(value = "/showList") public @ResponseBody AjaxResult showList(Onlinebooking onlinebooking, PaginationVO pageVo) { QueryUtil.setQueryLimit(onlinebooking); List list = onlinebookingDao.selectInPageForWx(onlinebooking); //相关数据赋值 list.stream().forEach(order -> { ShopProduct shopProduct = productDao.selectById(order.getProductId()); order.setShopProduct(shopProduct); if (order.getStaffId() != null) { SysUsers shopstaffInfo = staffInfoDao.selectById(Long.parseLong(order.getStaffId() + "")); order.setStaffInfo(shopstaffInfo); } SysShopInfo shopInfo = shopInfoDao.selectById(order.getShopId()); order.setShopInfo(shopInfo); }); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "查询成功"); result.setRows(list); result.setTotal(onlinebookingDao.selectInPageForWxCount(onlinebooking)); return result; } /** * 新增或者修改页面 */ @RemoveRequestToken @RequestMapping(value = "/addOrModify") public @ResponseBody AjaxResult addOrModify(Onlinebooking onlinebooking) { if (onlinebooking.getId() != null) { return modify(currentService, onlinebooking, "onlinebooking"); } else { return add(currentService, onlinebooking, "onlinebooking"); } } /** * 进入修改界面 */ @SaveRequestToken @RequestMapping(value = "/editForm") public String editForm(Long id) { Onlinebooking onlinebooking; if (id != null) { onlinebooking = currentService.findById(id); WebUtil.getRequest().setAttribute("obj", onlinebooking); } return "admin/onlinebooking-form"; } /** * 删除 */ @RequestMapping(value = "/del") public @ResponseBody AjaxResult del(String keys) { return remove(currentService, keys); } /** * 导出消耗统计 * * @throws IOException */ @RequestMapping(value = "/exportOnlinebooking") public @ResponseBody ModelAndView report(HttpServletRequest request, HttpServletResponse response, Onlinebooking onlinebooking) throws IOException { onlinebooking.setShopId(getMe().getShopId()); onlinebooking.setStatus(new String(onlinebooking.getStatus().trim().getBytes("ISO-8859-1"), "UTF-8")); List dataList = currentService.findByModel(onlinebooking); //组装excel数据 List> list = new ArrayList<>(); if(dataList.size()>0){ for(Onlinebooking obj:dataList){ List temp = new ArrayList<>(); temp.add(obj.getVipInfo().getVipName()); String strDate= DateUtil.dateToString(obj.getTime(), DateUtil.DATE_FORMAT_SS); temp.add(strDate); temp.add(obj.getStatus()); //时间转为字符串 temp.add(obj.getReason()); temp.add(obj.getRemark()); temp.add(obj.getShopName()); String crtDate=DateUtil.dateToString(obj.getCreateTime(), DateUtil.DATE_FORMAT_SS); temp.add(crtDate); list.add(temp); } } String[] tdNames ={"会员姓名","预约时间","状态","取消原因","备注","所属门店","创建时间"}; XSSFWorkbook workbook = ExcelUtil.createSimple2007("预约单记录",tdNames,list ); return null; } }