package com.bofeng.wx.controller; import com.bofeng.JwtHelper; import com.bofeng.dao.RbMapper; import com.bofeng.dao.UptownMapper; import com.bofeng.entity.*; import com.bofeng.excel.ExcelUtils; import com.bofeng.service.*; import com.fasterxml.jackson.core.JsonProcessingException; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.yvan.Model; import com.yvan.ModelOps; import com.yvan.PageDb; import com.yvan.mvc.JsonBody; import com.yvan.mvc.Pd; import com.yvan.platform.Conv; import com.yvan.platform.JsonWapper; import com.yvan.platform.YvanUtil; import com.yvan.springmvc.HttpParameterParser; import io.swagger.annotations.ApiOperation; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.InvocationTargetException; import java.util.List; import java.util.Map; @RestController public class YeWeiHuiController { @Autowired private QzTaskService qzTaskService; @Autowired private RbService rbService; @Autowired private QzTaskReplyService qzTaskReplyService; @Autowired private HomeService homeService; @Autowired private JmTuangouService jmTuangouService; @Autowired private UptownMapper uptownMapper; @Autowired private RbMapper rbMapper; @Autowired private JmTuangouMemberService jmTuangouMemberService; @GetMapping("/yeweihui/home.html") public ModelAndView yeweihui(ModelMap model, @RequestParam(value = "userId") Long userId, @RequestParam(value = "show", required = false, defaultValue = "-") String show) { // List taskList = qzTaskService.selectAll(1225321682867105793L); // List rbList = rbService.selectAll(1225321682867105793L); List taskList = qzTaskService.selectAll(userId); List rbList = rbService.selectAll(userId); model.put("taskList", YvanUtil.toJsonPretty(taskList)); model.put("rbList", YvanUtil.toJsonPretty(rbList)); model.put("user_id", "\"" + userId + "\""); model.put("show", "\"" + show + "\""); return new ModelAndView("/yeweihui/home.ftl", model); } @GetMapping("/yeweihui/tuangouHome.html") public ModelAndView yeweihuiTuangouHome(ModelMap model, @RequestParam(value = "userId") Long userId, @RequestParam(value = "show", required = false, defaultValue = "-") String show) { model.put("user_id", "\"" + userId + "\""); model.put("show", "\"" + show + "\""); return new ModelAndView("/yeweihui/tuangouHome.ftl", model); } @GetMapping("/yeweihui/qiuzhuDetail.html") public ModelAndView qiuzhudetail(@Pd(name = "taskId") Long taskId, @Pd(name = "userId") Long userId, ModelMap model) throws JsonProcessingException { QzTask task = qzTaskService.queryByTaskId(taskId); // A管理员,B居委会,C物业,D志愿者 StringBuffer target = new StringBuffer(); if (task.getTaskTarget().equals("A")) { target.append("管理员"); } else if (task.getTaskTarget().equals("B")) { if (target.length() > 0) { target.append("、居委会"); } else { target.append("居委会"); } } else if (task.getTaskTarget().equals("C")) { if (target.length() > 0) { target.append("、物业"); } else { target.append("物业"); } } else if (task.getTaskTarget().equals("D")) { if (target.length() > 0) { target.append("、志愿者"); } else { target.append("志愿者"); } } task.setTaskTarget(target.toString()); model.put("taskJson", new JsonWapper(task)); model.put("task", task); model.put("userId", "\"" + userId + "\""); return new ModelAndView("/yeweihui/qiuzhuDetail.ftl", model); } // @PostMapping("/yeweihui/qiuzhu/queryTasksByStatus.json") // public Model queryTasksByStatus(@Pd(name = "status") Integer status) { // // List taskList = qzTaskService.queryQzTaskByStatus(status); // // return Model.newSuccess(taskList); // } @PostMapping("/yeweihui/qiuzhu/reply/add.json") public ModelOps replyQiuzhuInsert(QzTaskReply qzTaskReply) { Integer success = qzTaskReplyService.insertQzTaskReply(qzTaskReply); if (success > 0) { return ModelOps.newSuccess(); } else { return ModelOps.newFail("操作失败"); } } @PostMapping("/yeweihui/qiuzhu/reply/querybytaskid.json") public Model replyQiuzhuQueryByTaskId(@Pd(name = "taskId") Long taskId) { List reply = qzTaskReplyService.queryQzTaskReplyByTaskId(taskId); return Model.newSuccess(reply); } @PostMapping("/yeweihui/qiuzhu/list.json") public Model queryByHouseNumber(@Pd(name = "userId") Long userId, String houseNumber, @Pd(name = "status") Integer status) { if (houseNumber.length() <= 0) { return Model.newSuccess(qzTaskService.queryQzTaskByStatus(userId, status)); } List list = qzTaskService.queryByHouseNumber(userId, houseNumber, status); return Model.newSuccess(list); } @GetMapping("/yeweihui/ribao.html") public ModelAndView yeweihuiRibao(ModelMap model) { // List taskList = qzTaskService.selectAll(); // // model.put("taskList", YvanUtil.toJsonPretty(taskList)); return new ModelAndView("/yeweihui/ribao.ftl", model); } @GetMapping("/yeweihui/ribaoDy") public Model> yeweihuiRibaoDy(Long str) { // String[] split = str.split("&"); List rbList = rbService.selectXq(str); return Model.newSuccess(rbList); } @GetMapping("/yeweihui/ribaoXq.html") public ModelAndView yeweihuiRibaoYcXq(ModelMap model) { Map queryParam = Maps.newLinkedHashMap(); queryParam.put("userId", "12345677"); queryParam.put("statistics", "M"); return new ModelAndView("/yeweihui/ribaoXq.ftl", model); } @GetMapping("/yeweihui/ribaoDyYcXq") public Model> yeweihuiRibaoYcXq(Long houseId) { List rbList = rbService.selectYcXq(houseId); return Model.newSuccess(rbList); } @GetMapping("/yeweihui/ribaohuiz.html") public ModelAndView yeweihuiRibaohuiz(ModelMap model) { return new ModelAndView("/yeweihui/ribaohuiz.ftl", model); } @GetMapping("/whepi/yeweihui/ribaohuiz") public Model> yeweihuiRibaohuiz(Long userCreate, String reportDate) { // Long userCreate = 1225321682867105793L; List uptowns = rbMapper.selectUptown(userCreate); if (uptowns != null && uptowns.size() > 0) { Long upId = uptowns.get(0).getUptownId(); Map map1 = rbMapper.selecthuiz(upId, reportDate); Map map2 = rbMapper.selectyicahng(upId, reportDate); Map map3 = rbMapper.selecthuiz1(upId); Map map4 = rbMapper.selecthuizong(upId, reportDate); Map reMap = Maps.newHashMap(); reMap.put("uptownName", uptowns.get(0).getUptownName()); List nums = Lists.newArrayList(); nums.add(Conv.NI(map3.get("houseCount"))); nums.add(Conv.NI(map1.get("reportCount"))); nums.add(Conv.NI(map2.get("yichangCount"))); nums.add(Conv.NI(map4.get("safetyNum"))); nums.add(Conv.NI(map1.get("suspectedNum"))); reMap.put("nums", nums); return Model.newSuccess(reMap); } return Model.newFail("没有数据"); } @ApiOperation("导出正常家庭上报明细") @GetMapping("/whepi/yeweihui/exportRiBao") @SneakyThrows public void exportRiBao(@Pd(name = "uptownId") Long uptownId, @Pd(name = "date") String date, HttpServletResponse resp) { if (uptownId == 1238790987234L) { return; } Uptown uptown = uptownMapper.selectById(uptownId); if (uptown != null && uptown.getUptownId() > 0) { Long upId = uptown.getUptownId(); String fileName = uptown.getUptownName(); fileName += "上报信息-"; fileName += date; List list = rbMapper.selectExcelRiBao(upId, date); ExcelUtils.writeSheet(ExcelRiBao.class, list).export(resp, fileName); } } @ApiOperation("导出凌云家庭上报明细") @GetMapping("/whepi/lun/exportRiBao") @SneakyThrows public void lunExportRiBao(@Pd(name = "date") String date, HttpServletResponse resp) { Uptown uptown = uptownMapper.selectById("1238790987234"); Long upId = uptown.getUptownId(); String fileName = uptown.getUptownName(); fileName += "上报信息-"; fileName += date; List list = rbMapper.selectExcelRiBaoLY(upId, date); ExcelUtils.writeSheet(ExcelRiBaoLY.class, list).export(resp, fileName); } @ApiOperation("导出小区家庭上报明细") @GetMapping("/whepi/yeweihui/EXR") @SneakyThrows public void exportRiBaoByXiaoQu(@Pd(name = "uptownId") Long uptownId, @Pd(name = "date") String date, HttpServletResponse resp) { Uptown uptown = uptownMapper.selectById(uptownId); if (uptown != null && uptown.getUptownId() > 0) { Long upId = uptown.getUptownId(); String fileName = uptown.getUptownName(); fileName += "上报信息-"; fileName += date; List list = rbMapper.selectExcelRiBaoPrivate(upId, date); ExcelUtils.writeSheet(ExcelRiBaoPrivate.class, list).export(resp, fileName); } } @GetMapping("/yeweihui/tgPublish.html") public ModelAndView tgPublish(@Pd(name = "userId") Long userId, ModelMap model) throws JsonProcessingException { model.put("userId", "\"" + userId + "\""); return new ModelAndView("/yeweihui/tgPublish.ftl", model); } @GetMapping("/yeweihui/groupBuyingCx.html") public ModelAndView groupBuyingCx(@Pd(name = "jmId") Long jmId, @Pd(name = "userId") Long userId, @Pd(name = "operation") String operation, ModelMap model) throws JsonProcessingException { JmTuangou item = jmTuangouService.queryByJmId(jmId); model.put("tgItemJson", new JsonWapper(item)); model.put("tgItem", item); model.put("userId", "\"" + userId + "\""); model.put("operation", "\"" + operation + "\""); return new ModelAndView("/groupBuying/groupBuyingCx.ftl", model); } @GetMapping("/yeweihui/groupBuyingXx.html") public ModelAndView groupBuyingXx(@Pd(name = "jmId") Long jmId, @Pd(name = "userId") Long userId, ModelMap model) throws JsonProcessingException { JmTuangou item = jmTuangouService.queryByJmId(jmId); if (item.getUserId().equals(userId)) { model.put("isMine", "mine"); } else { model.put("isMine", "notMine"); } model.put("userId", "\"" + userId + "\""); model.put("tgItemJson", new JsonWapper(item)); model.put("tgItem", item); return new ModelAndView("/groupBuying/groupBuyingXx.ftl", model); } @GetMapping("/yeweihui/tuangou/member/list.html") public ModelAndView tuangouMemberList(@Pd(name = "jmId") Long jmId, @Pd(name = "userId") Long userId, ModelMap model) throws JsonProcessingException { JmTuangou item = jmTuangouService.queryByJmId(jmId); List members = jmTuangouMemberService.querMemberListByJmId(jmId); model.put("tgItemJson", new JsonWapper(item)); model.put("tgItem", item); model.put("members", YvanUtil.toJsonPretty(members)); model.put("userId", "\"" + userId + "\""); return new ModelAndView("/yeweihui/tuangouMemberList.ftl", model); } @ApiOperation("导出团购家庭信息") @GetMapping("/yeweihui/tuangou/member/list/export") @SneakyThrows public void tgMembersExport(@Pd(name = "jmId") Long jmId, HttpServletResponse resp) { List members = jmTuangouMemberService.querMemberListByJmId(jmId); String fileName = "团购家庭信息"; ExcelUtils.writeSheet(JmTuangouMember.class, members).export(resp, fileName); } @GetMapping("/whepi/tuangou/member/list/exportList") @SneakyThrows public void tgMembersExport(HttpParameterParser parser,HttpServletResponse resp) { List members = jmTuangouMemberService.querMemberListByJmIdXX(parser.getMap()); ExcelUtils.writeSheet(JmTuangouMember.class, members).export(resp,"团购家庭信息"); } @PostMapping("/yeweihui/groupBuyingCx/remark/add.json") public Model groupBuyingCxRemarkAdd(@Pd(name = "jmId") Long jmId, @Pd(name = "status", required = false, defaultValue = "0") Long status, @Pd(name = "remark", required = false) String remark) { Integer success = jmTuangouService.updateRemarkByJmId(jmId, status, remark); if (success == 1) { return Model.newSuccess("操作成功"); } else { return Model.newFail("操作失败"); } } @PostMapping("/yeweihui/tgPublish.json") public Model tuangouPublish(JmTuangou jmTuangou) { Integer success = jmTuangouService.tuangouPublish(jmTuangou); if (success == 1) { return Model.newSuccess("操作成功"); } else { return Model.newFail("操作失败"); } } @PostMapping("/whepi/yeweihui/tglist") public Model whepiTuangoulist(@Pd(name = "userId", required = false) Long userId, @Pd(name = "uptownIds", required = false) String uptownIds, @Pd(name = "queryProperties", required = false) String queryProperties, @Pd(name = "tgStatus", required = false) Long tgStatus, PageDb pageDb) { //系统管理员只有一个人 获取当前userId // JmTuangou jmTuangou = jmTuangouService.selectByUserId(); List myList = jmTuangouService.whepiTuangoulist(JwtHelper.getUserId(), uptownIds, queryProperties, tgStatus, pageDb); return Model.newSuccess(pageDb, myList); } @PostMapping("/whepi/yeweihui/tgPublish") public ModelOps whepiTuangouPublish(@JsonBody JmTuangou jmTuangou) throws InvocationTargetException, IllegalAccessException { int success = jmTuangouService.whepiTuangouPublish(jmTuangou.getUptownIds(), jmTuangou); return ModelOps.newSuccess(success); } @PostMapping("/yeweihui/tuangou/list/query.json") public Model queryTuangouListByTitle(@Pd(name = "userId") Long userId, @Pd(name = "title", required = false) String title) { List list = jmTuangouService.queryTuangouListByTitle(userId, title); return Model.newSuccess(list); } @PostMapping("/yeweihui/tuangou/mylist/query.json") public Model queryTuangouMyListByTitle(@Pd(name = "userId") Long userId, @Pd(name = "title", required = false) String title) { List myList = jmTuangouService.queryTuangouMyListByTitle(userId, title); return Model.newSuccess(myList); } @PostMapping("/whepi/yeweihui/tgStatus") public ModelOps whepiYeweihuiTgStatus(@JsonBody JmTuangou jmTuangou) { int success = jmTuangouService.updateRemarkByJmIdzbxd(jmTuangou); return ModelOps.newSuccess(success); } @PostMapping("/whepi/getAllUptown") public Model> getAllUptown(HttpParameterParser parser) { return Model.newSuccess(uptownMapper.getUptowns(parser.getMap())); } @PostMapping("/whepi/getSelectOne") public Model getSelectOne(@Pd(name = "jmId")Long jmId){ return Model.newSuccess(jmTuangouService.getSelectOne(jmId)); } @PostMapping("/whepi/zhihuibu/updateStatus") public Model zhihuibuUpdateStatus(@Pd(name = "jmId") Long jmId, @Pd(name = "status", required = false, defaultValue = "0") Long status) { Integer success = jmTuangouService.zhihuibuUpdateStatus(jmId, status); if (success == 1) { return Model.newSuccess("操作成功"); } else { return Model.newFail("操作失败"); } } @PostMapping("/whepi/zhihuibu/tgDetail") public Model> groupBuyingXx(@Pd(name = "jmId") Long jmId,@Pd(name = "queryProperties",required = false)String queryProperties,PageDb pageDb) { List members = jmTuangouMemberService.querMemberListByJmIdexport(jmId,queryProperties,pageDb); return Model.newSuccess(pageDb,members); } @PostMapping("/whepi/yeweihui/updateStatus") public ModelOps updateStatus(@JsonBody JmTuangou jmTuangou){ return ModelOps.newSuccess(jmTuangouService.updateStatus(jmTuangou.getJmId(),4L,jmTuangou.getRemark())); } @PostMapping("/whepi/yeweihui/updateStatusstarts") public ModelOps updateStatus(@Pd(name = "jmId") Long jmId, @Pd(name = "tgStatus") Long tgStatus){ int success =jmTuangouService.zhihuibuUpdateStatus(jmId,tgStatus); return ModelOps.newSuccess(success); } }