package com.dsh.guns.modular.system.controller.code; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.account.CityManagerClient; import com.dsh.course.feignClient.account.model.CityManager; import com.dsh.course.feignClient.activity.CouponClient; import com.dsh.course.feignClient.other.HonorClient; import com.dsh.course.feignClient.other.QuestionClient; import com.dsh.course.feignClient.other.model.FrequentlyAskedQuestions; import com.dsh.course.feignClient.other.model.HonorRules; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.tips.SuccessTip; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.model.CouponDataVo; import com.dsh.guns.modular.system.model.QuestionChangeStateVO; import com.dsh.guns.modular.system.model.QuestionSearchVO; import com.dsh.guns.modular.system.model.Region; import com.dsh.guns.modular.system.service.IRegionService; import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.util.OBSUploadUtil; import io.swagger.models.auth.In; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 常见问题管理 控制器 */ @Controller @RequestMapping("/tQuestion") public class QuestionController { private String PREFIX = "/system/tQuestion/"; @Resource private IRegionService regiService; @Resource private IStoreService storeService; @Resource private CouponClient client; @Resource private QuestionClient questionClient; @Resource private CityManagerClient cmgrClient; /** * 跳转常见问题首页 */ @RequestMapping("") public String index(Model model) { String roleid = UserExt.getUser().getRoleid(); model.addAttribute("role",roleid); return PREFIX + "TQuestion.html"; } /** * 获取常见问题列表 * @param content 模糊查询标题 * @param state 查询状态 */ @RequestMapping("/list") @ResponseBody public List list(String content, Integer state) { QuestionSearchVO questionSearchVO = new QuestionSearchVO(); questionSearchVO.setContent(content); questionSearchVO.setState(state); return questionClient.listAll(questionSearchVO); } /** * 跳转到添加 */ @RequestMapping("/add") public String addQuestion(Model model) { Integer objectType = UserExt.getUser().getObjectType(); System.out.println(objectType); model.addAttribute("userType",objectType); return PREFIX + "TQuestionAdd.html"; } /** * 批量上/下架 删除常见问题 type=1 上架 2下架 3删除 */ @RequestMapping("/changeState") @ResponseBody public Object changeState(@RequestBody QuestionChangeStateVO vo) { questionClient.changeState(vo); return new SuccessTip<>(); } /** * 添加常见问题 */ @RequestMapping("/addQuestion") @ResponseBody public Object addQuestion(@RequestBody FrequentlyAskedQuestions frequentlyAskedQuestions) { questionClient.addQuestion(frequentlyAskedQuestions); return new SuccessTip<>(); } /** * 修改常见问题 */ @RequestMapping("/editQuestion") @ResponseBody public Object editQuestion(@RequestBody FrequentlyAskedQuestions frequentlyAskedQuestions) { questionClient.editQuestion(frequentlyAskedQuestions); return new SuccessTip<>(); } /** * 跳转到编辑 */ @RequestMapping("/editQuestion/{id}") public String editQuestion(Model model,@PathVariable("id") Integer id) { FrequentlyAskedQuestions info = questionClient.getInfo(id); Integer objectType = UserExt.getUser().getObjectType(); System.out.println(objectType); model.addAttribute("userType",objectType); model.addAttribute("info",info); return PREFIX + "TQuestionEdit.html"; } /** * 跳转到详情 */ @RequestMapping("/infoQuestion/{id}") public String infoQuestion(Model model,@PathVariable("id") Integer id) { FrequentlyAskedQuestions info = questionClient.getInfo(id); Integer objectType = UserExt.getUser().getObjectType(); System.out.println(objectType); model.addAttribute("userType",objectType); model.addAttribute("info",info); return PREFIX + "TQuestionInfo.html"; } /** * 跳转到门店管理列表页 */ @RequestMapping("/storeList") public String storePage(Model model) { return PREFIX + "TQuestionEdit.html"; } @RequestMapping("/storeDetailsOfSearch") @ResponseBody public Object listOfStore(Integer provinceId,Integer cityId,Integer cityManagerId,String storeName){ System.out.println("provinceId"+provinceId); System.out.println("cityId"+cityId); System.out.println("cityManagerId"+cityManagerId); System.out.println("storeName"+storeName); String provinceCode = null; String cityCode = null; if (ToolUtil.isNotEmpty(provinceId)){ Region provinceRegion = regiService.getById(provinceId); provinceCode = provinceRegion.getCode(); } if (ToolUtil.isNotEmpty(cityId)){ Region cityRegion = regiService.getById(cityId); cityCode = cityRegion.getCode(); } Page> page = new PageFactory>().defaultPage(); List> storeList = storeService.queryListOfpage(provinceCode,cityCode,cityManagerId,storeName,page); if (storeList.size() > 0 ){ for (Map stringObjectMap : storeList) { String provinceName = (String) stringObjectMap.get("province"); String cityName = (String) stringObjectMap.get("city"); stringObjectMap.put("provinceCity",provinceName+cityName); Integer managerId = (Integer) stringObjectMap.get("cityManagerId"); CityManager cityManager = cmgrClient.queryCityManagerById(managerId); if (ToolUtil.isNotEmpty(cityManager)){ stringObjectMap.put("accountName",cityManager.getName()+"+"+cityManager.getPhone()); } } } return storeList; } @RequestMapping(value = "/getProvince") @ResponseBody public Object getProvince(){ return regiService.list(new LambdaQueryWrapper() .eq(Region::getParentId,0)); } @RequestMapping(value = "/getCity") @ResponseBody public Object getCity(Integer province){ return regiService.list(new LambdaQueryWrapper() .eq(Region::getParentId,province)); } @RequestMapping(value = "/uploadPic") @ResponseBody public Object add(@RequestParam("file") MultipartFile imgFile) throws IOException { String originalFilename = imgFile.getOriginalFilename(); String newName = originalFilename.substring(imgFile.getOriginalFilename().lastIndexOf(".")); String url = OBSUploadUtil.inputStreamUpload(imgFile); Map map = new HashMap(); //是否上传成功 map.put("state", "SUCCESS"); //现在文件名称 map.put("title", newName); //文件原名称 map.put("original", originalFilename); //文件类型 .+后缀名 map.put("type", originalFilename.substring(imgFile.getOriginalFilename().lastIndexOf("."))); //文件路径 map.put("url", url); //文件大小(字节数) map.put("size", imgFile.getSize() + ""); System.out.println(map); return url; } /** * 提交添加 */ @PostMapping(value = "/commitData") @ResponseBody public Object commitData( CouponDataVo dataVo){ System.out.println(dataVo); Integer objectType = UserExt.getUser().getObjectType(); dataVo.setUserType(objectType); client.insertIntoData(dataVo); return new SuccessTip<>(); } }