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<FrequentlyAskedQuestions> 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<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
List<Map<String,Object>> storeList = storeService.queryListOfpage(provinceCode,cityCode,cityManagerId,storeName,page);
|
if (storeList.size() > 0 ){
|
for (Map<String, Object> 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<Region>()
|
.eq(Region::getParentId,0));
|
}
|
|
|
@RequestMapping(value = "/getCity")
|
@ResponseBody
|
public Object getCity(Integer province){
|
return regiService.list(new LambdaQueryWrapper<Region>()
|
.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<String, String> map = new HashMap<String, String>();
|
//是否上传成功
|
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<>();
|
}
|
}
|