package com.yuanchu.mom.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.mapper.ClientSatisfactionAnalyseFileMapper; import com.yuanchu.mom.pojo.ClientSatisfaction; import com.yuanchu.mom.pojo.ClientSatisfactionAnalyseFile; import com.yuanchu.mom.service.ClientSatisfactionService; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.Map; /** * 客户满意度 * * @author zhuo * @since 2024-11-09 */ @Api(tags = "客户满意度调查") @AllArgsConstructor @RestController @RequestMapping("/clientSatisfaction") public class ClientSatisfactionController { private ClientSatisfactionService clientSatisfactionService; private ClientSatisfactionAnalyseFileMapper clientSatisfactionAnalyseFileMapper; /** * 客户满意度调查列表 * @param data * @return */ @ValueAuth @ApiOperation(value = "客户满意度调查列表") @PostMapping("/pageClientSatisfaction") public Result> pageClientSatisfaction(@RequestBody Map data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); ClientSatisfaction clientSatisfaction = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ClientSatisfaction.class); return Result.success(clientSatisfactionService.pageClientSatisfaction(page, clientSatisfaction)); } /** * 客户满意度调查新增 * @return */ @ValueAuth @ApiOperation(value = "客户满意度调查新增") @PostMapping("/addClientSatisfaction") public Result addClientSatisfaction(@RequestBody ClientSatisfaction clientSatisfaction){ return Result.success(clientSatisfactionService.save(clientSatisfaction)); } /** * 客户满意度调查修改 * @return */ @ValueAuth @ApiOperation(value = "客户满意度调查新增") @PostMapping("/updateClientSatisfaction") public Result updateClientSatisfaction(@RequestBody ClientSatisfaction clientSatisfaction){ return Result.success(clientSatisfactionService.updateById(clientSatisfaction)); } /** * 客户满意度调查修改 * @return */ @ValueAuth @ApiOperation(value = "客户满意度调查新增") @GetMapping("/delClientSatisfaction") public Result updateClientSatisfaction(Integer clientSatisfactionId){ return Result.success(clientSatisfactionService.removeById(clientSatisfactionId)); } /** * 客户满意度导出 * @param clientSatisfactionId * @param response * @return */ @ValueAuth @ApiOperation(value = "客户满意导出") @GetMapping("/exportWordClientSatisfaction") public Result exportWordClientSatisfaction(Integer clientSatisfactionId, HttpServletResponse response){ clientSatisfactionService.exportWordClientSatisfaction(clientSatisfactionId, response); return Result.success(); } /** * 确认客户满意度 * @param clientSatisfaction 要修改客户满意度的状态对象 * @param userId 修改人id */ @ValueAuth @ApiOperation(value = "确认客户满意度") @GetMapping("/confirmClientSatisfaction") public void confirmClientSatisfaction(ClientSatisfaction clientSatisfaction, Integer userId){ clientSatisfactionService.confirmClientSatisfaction(clientSatisfaction, userId); } /** * 新增客户分析附件 * @param file * @return */ @ValueAuth @ApiOperation(value = "新增户分析附件") @PostMapping("/uploadAnalyseFile") public Result uploadAnalyseFile(MultipartFile file) { return Result.success(clientSatisfactionService.uploadAnalyseFile(file)); } /** * 查询户分析附件 * @return */ @ValueAuth @ApiOperation(value = "查询户分析附件") @PostMapping("/pageAnalyseFile") public Result> pageAnalyseFile(@RequestBody Map data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); ClientSatisfactionAnalyseFile analyseFile = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ClientSatisfactionAnalyseFile.class); return Result.success(clientSatisfactionService.pageAnalyseFile(page, analyseFile)); } /** * 删除户分析附件 * @return */ @ValueAuth @ApiOperation(value = "删除户分析附件") @GetMapping("/delAnalyseFile") public Result delAnalyseFile(Integer analyseFileId){ return Result.success(clientSatisfactionAnalyseFileMapper.deleteById(analyseFileId)); } }