package com.bofeng.wx.controller; import com.bofeng.dao.*; import com.bofeng.entity.*; import com.bofeng.excel.ExcelUtils; import com.bofeng.service.*; import com.fasterxml.jackson.core.JsonProcessingException; import com.yvan.ModelOps; import com.yvan.platform.JsonWapper; import com.yvan.platform.YvanUtil; import com.yvan.springmvc.ResultModel; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; 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.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; @Api("注册登陆") @RestController public class UserOpenController { @Autowired private HomeService homeService; @Autowired private UserOpenService userOpenService; @Autowired private UserOpenMapper userOpenMapper; @Autowired private UptownMapper uptownMapper; @Autowired private UptownHouseMapper uptownHouseMapper; @Autowired private UptownHomeMapper uptownHomeMapper; @Autowired private UserRoleMapper userRoleMapper; @Autowired private UptownUnitMapper uptownUnitMapper; @Autowired private QzTaskService qzTaskService; @Autowired private RbService rbService; @Autowired private MsReportService msReportService; @Autowired private RbMapper rbMapper; @ApiOperation("登陆首页") @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "用户ID", required = false, dataType = "Long", paramType = "query"), @ApiImplicitParam(name = "userType", value = "用户类型", required = false, dataType = "Integer", paramType = "query") }) @GetMapping("/user/home.html") public ModelAndView home(ModelMap model, @RequestParam(value = "userId", required = false, defaultValue = "0") Long userId, @RequestParam(value = "userType", required = false, defaultValue = "0") Integer userType) throws JsonProcessingException { List list = new ArrayList<>(); if (userId == 0) { UserOpen userOpen = homeService.getUserOpen(); list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId()); // list = userRoleMapper.getUserRoleByUserId(1225321682867105793L); // UserOpen userOpen = userOpenMapper.selectByUserId(1225321682867105793L); userId = userOpen.getUserId(); model.put("user", userOpen); model.put("user_id", "\"" + userOpen.getUserId() + "\""); List uptowns = rbMapper.selectUptown(userId); if (uptowns != null && uptowns.size() > 0) { Long uptown_id = uptowns.get(0).getUptownId(); String uptown_name = uptowns.get(0).getUptownName(); model.put("uptown_id", "\"" + uptown_id + "\""); model.put("uptownId", uptown_id); model.put("uptown_name", uptown_name); // 凌云集团的可以更改unit if (uptown_id == 1238790987234L) { UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userId); model.put("ridgepole", unit.getRidgepole()); model.put("unit", unit.getUnit()); model.put("unitId", unit.getUnitId()); model.put("doorplate", unit.getDoorplate()); List uptownHomes = uptownHomeMapper.getUptownHomeByUserId(userOpen.getUserId()); model.put("linkman", uptownHomes.get(0).getLinkman()); } } if (list.size() == 0) { return new ModelAndView("/user/home.ftl", model); } if (list.size() == 1) { //今天数据,今天没有,复制最近一天的数据 MsReport msReport = msReportService.getReportByDateNow(userId); model.put("msReport", new JsonWapper(msReport)); return new ModelAndView("/home/home.ftl", model); } if (list.size() == 2) { //今天数据,今天没有,复制最近一天的数据 MsReport msReport = msReportService.getReportByDateNow(userId); model.put("msReport", new JsonWapper(msReport)); model.put("type", 1); return new ModelAndView("/user/changeRole.ftl", model); } } else { model.put("user", userOpenMapper.selectByUserId(userId)); model.put("user_id", "\"" + userId + "\""); if (userType == 1) { MsReport msReport = msReportService.getReportByDateNow(userId); model.put("msReport", new JsonWapper(msReport)); return new ModelAndView("/home/home.ftl", model); } else if (userType == 2) { model.put("type", 1); return new ModelAndView("/user/changeRole.ftl", model); } } return null; } @ApiOperation("商品团购") @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "用户ID", required = false, dataType = "Long", paramType = "query"), @ApiImplicitParam(name = "userType", value = "用户类型", required = false, dataType = "Integer", paramType = "query") }) @GetMapping("/tuangou/home.html") public ModelAndView tuangouHome(ModelMap model, @RequestParam(value = "userId", required = false, defaultValue = "0") Long userId, @RequestParam(value = "userType", required = false, defaultValue = "0") Integer userType) throws JsonProcessingException { List list = new ArrayList<>(); if (userId == 0) { UserOpen userOpen = homeService.getUserOpen(); list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId()); // list = userRoleMapper.getUserRoleByUserId(1225321682867105793L); // UserOpen userOpen = userOpenMapper.selectByUserId(1225321682867105793L); userId = userOpen.getUserId(); model.put("user", userOpen); model.put("user_id", "\"" + userOpen.getUserId() + "\""); if (list.size() == 0) { return new ModelAndView("/user/home.ftl", model); } if (list.size() == 1) { return new ModelAndView("/tuangou/home.ftl", model); } if (list.size() == 2) { model.put("type", 2); return new ModelAndView("/user/changeRole.ftl", model); } } else { model.put("user", userOpenMapper.selectByUserId(userId)); model.put("user_id", "\"" + userId + "\""); if (userType == 1) { return new ModelAndView("/tuangou/home.ftl", model); } else if (userType == 2) { model.put("type", 2); return new ModelAndView("/user/changeRole.ftl", model); } } return null; } @GetMapping("/user/homeIndex.html") public ModelAndView homeIndex(ModelMap model, @RequestParam(value = "userId", required = false, defaultValue = "0") Long userId, @RequestParam(value = "userType", required = false, defaultValue = "0") Integer userType, @RequestParam(value = "type", required = false, defaultValue = "1") Integer type, @RequestParam(value = "show", required = false, defaultValue = "-") String show) throws JsonProcessingException { if (userId != 0 && userType != 0) { model.put("user_id", "\"" + userId + "\""); List uptowns = rbMapper.selectUptown(userId); if (uptowns != null && uptowns.size() > 0) { Long uptown_id = uptowns.get(0).getUptownId(); String uptown_name = uptowns.get(0).getUptownName(); model.put("uptown_id", "\"" + uptown_id + "\""); model.put("uptownId", uptown_id); model.put("uptown_name", uptown_name); // 凌云集团的可以更改unit if (uptown_id == 1238790987234L) { UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userId); model.put("ridgepole", unit.getRidgepole()); model.put("unit", unit.getUnit()); model.put("unitId", unit.getUnitId()); model.put("doorplate", unit.getDoorplate()); List uptownHomes = uptownHomeMapper.getUptownHomeByUserId(userId); model.put("linkman", uptownHomes.get(0).getLinkman()); } } if (userType == 1) { MsReport msReport = msReportService.getReportByDateNow(userId); model.put("msReport", new JsonWapper(msReport)); model.put("show", "\"" + show + "\""); if (type == 2) { return new ModelAndView("/home/tuangouHome.ftl", model); } return new ModelAndView("/home/home.ftl", model); } else if (userType == 2) { List taskList = qzTaskService.selectAll(userId); model.put("taskList", YvanUtil.toJsonPretty(taskList)); List rbList = rbService.selectAll(userId); model.put("rbList", YvanUtil.toJsonPretty(rbList)); if (type == 2) { return new ModelAndView("/yeweihui/tuangouHome.ftl", model); } return new ModelAndView("/yeweihui/home.ftl", model); } } return null; } @GetMapping("/home/getUptownData.json") public List getUptownData(HttpServletRequest request, @RequestParam(value = "area") Integer area) { return uptownMapper.getAllUptown(area); } @GetMapping("/home/getUptownUnitData.json") public List getUptownUnitData(HttpServletRequest request, @RequestParam(value = "uptownId") Long uptownId) { return uptownUnitMapper.getUptownUnitData(uptownId); } /** * 凌云集团公司信息 * @return */ @GetMapping("/home/getUptownUnitLY.json") public List getUptownUnitLY(HttpServletRequest request) { return uptownUnitMapper.getUptownUnitLY(); } /** * 凌云集团更改公司 * @return */ @PostMapping("/home/changeUnitId.json") public void changeUnitId(ModelMap model, HttpServletRequest request) { Long userId = Long.parseLong(request.getParameter("userId")); Long unitId = Long.parseLong(request.getParameter("newUnitId")); userOpenService.changeUnitId(userId, unitId); } @PostMapping("/home/checkHouseId.json") public ResultModel checkHouseId(HttpServletRequest request) { ResultModel resultModel = new ResultModel(); Long unitId = Long.parseLong(request.getParameter("unitId")); String doorplate = request.getParameter("doorplate"); List list = uptownHouseMapper.getUptownHouseBy(unitId, doorplate); if (list.size() > 0) { resultModel.put("success", false); resultModel.put("msg", "该门牌已有人入住!"); return resultModel; } resultModel.put("success", true); resultModel.put("msg", "操作成功"); return resultModel; } @PostMapping("/home/saveUser.json") public void saveUser(ModelMap model, HttpServletRequest request) { Long userId = Long.parseLong(request.getParameter("userId")); // Integer userType = Integer.parseInt(request.getParameter("userType")); String linkman = request.getParameter("linkman"); String phone = request.getParameter("phone"); Integer area = Integer.parseInt(request.getParameter("area")); Long uptownId = Long.parseLong(request.getParameter("uptownId")); Long unitId = Long.parseLong(request.getParameter("unitId")); String doorplate = request.getParameter("doorplate"); userOpenService.saveUserInfo(userId, 1, linkman, phone, area, uptownId, unitId, doorplate); } @ApiOperation("客户档案信息错误数据导出") @GetMapping("/user/importExcelUserOpen") @SneakyThrows public void errorCustInfo(HttpServletResponse resp) { List list = userOpenMapper.getAllUser(); ExcelUtils.writeSheet(UserOpen.class, list).export(resp, "errorCust"); } @GetMapping("/home/desc.html") public ModelAndView descHome(ModelMap model) { return new ModelAndView("/home/desc.ftl", model); } @GetMapping("/home/homeHelp.html") public ModelAndView homeHelp(ModelMap model) { return new ModelAndView("/home/homeHelp.ftl", model); } @GetMapping("/home/adminHelp.html") public ModelAndView adminHelp(ModelMap model) { return new ModelAndView("/home/adminHelp.ftl", model); } @GetMapping("/home/outHelp.html") public ModelAndView outHelp(ModelMap model) { return new ModelAndView("/home/outHelp.ftl", model); } @GetMapping("/home/testOk.html") public ModelAndView testOk(ModelMap model, HttpServletResponse response) { response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS,DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); return new ModelAndView("/ok.html", model); } @GetMapping("/home/chulishuju") public ModelOps chulishuju() { msReportService.getNowByYesterdayDate(); return ModelOps.newSuccess(); } }