package com.ruoyi.web.controller.zhang;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.domain.ZfPet;
import com.ruoyi.domain.ZfPetNote;
import com.ruoyi.domain.ZfProperty;
import com.ruoyi.service.ZfPetNoteService;
import com.ruoyi.service.ZfPetNoteService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.websocket.server.PathParam;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM;
import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE;
/**
*
* 魅宠备忘录 前端控制器
*
*
* @author ojq
* @since 2023-03-12
*/
@RestController
@RequestMapping("/family/zfPetNote")
@Slf4j
public class ZfPetNoteController extends BaseController {
@Resource
private ZfPetNoteService zfPetNoteService;
@GetMapping("/all")
public AjaxResult listAll(ZfPetNote zfPetNote){
Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
return zfPetNoteService.selectPetNoteList(zfPetNote, pageNum, pageSize);
}
/**
* 根据宠物id获取相关备忘录
*/
@GetMapping
public AjaxResult getByPetId(@PathParam("pid")String pid,ZfPetNote zfPetNote){
Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
return zfPetNoteService.getAllPetNoteByPetId(pageNum,pageSize,pid,zfPetNote);
}
/**
* 获取导入模板
*/
@PostMapping("/model")
public void getExportModel(HttpServletResponse response){
List list = Collections.singletonList(new ZfPetNote());
ExcelUtil util = new ExcelUtil<>(ZfPetNote.class);
util.exportExcel(response,list,"魅宠备忘录导入模板");
}
/**
* 导出魅宠备忘录记录列表
*/
// @PreAuthorize("@ss.hasPermi('system:property:export')")
@Log(title = "魅宠备忘录记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ZfPetNote zfPetNote)
{
List list = zfPetNoteService.selectByCondition(zfPetNote);
log.info("导出记录为:{}",list);
ExcelUtil util = new ExcelUtil<>(ZfPetNote.class);
util.exportExcel(response, list, "魅宠备忘录记录数据");
}
@Log(title = "魅宠备忘录记录", businessType = BusinessType.EXPORT)
@PostMapping("/export1/{ids}")
public void export1(HttpServletResponse response, ZfPetNote zfPetNote, @PathVariable Long[] ids)
{
List list = zfPetNoteService.selectByIds(ids);
log.info("导出记录为:{}",list);
ExcelUtil util = new ExcelUtil<>(ZfPetNote.class);
util.exportExcel(response, list, "魅宠备忘录记录数据");
}
/**
* 导入魅宠备忘录记录列表
*/
@Log(title = "用户管理", businessType = BusinessType.IMPORT)
@PostMapping("/importData/{pid}")
public AjaxResult importData(@RequestParam("excelImport") MultipartFile file,@PathVariable String pid) throws Exception
{
ExcelUtil util = new ExcelUtil<>(ZfPetNote.class);
List eventList = util.importExcel(file.getInputStream());
for (ZfPetNote zfPetNote : eventList) {
zfPetNote.setPid(pid);
}
log.info("魅宠备忘录列表为:{}",eventList);
if (zfPetNoteService.saveBatch(eventList)) {
return AjaxResult.success("导入数据成功");
}
return AjaxResult.error("导入数据失败");
}
/**
* 获取魅宠备忘录记录详细信息
*/
// @PreAuthorize("@ss.hasPermi('system:property:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(zfPetNoteService.getById(id));
}
//
/**
* 新增魅宠备忘录记录
*/
// @PreAuthorize("@ss.hasPermi('system:property:add')")
@Log(title = "魅宠备忘录记录", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ZfPetNote zfPetNote)
{
return zfPetNoteService.mySave(zfPetNote);
}
/**
* 修改魅宠备忘录记录
*/
// @PreAuthorize("@ss.hasPermi('system:property:edit')")
@Log(title = "魅宠备忘录记录", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ZfPetNote zfPetNote)
{
return toAjax(zfPetNoteService.updateById(zfPetNote));
}
//
/**
* 批量删除魅宠备忘录记录
*/
// @PreAuthorize("@ss.hasPermi('system:property:remove')")
@Log(title = "魅宠备忘录记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(zfPetNoteService.removeByIds(Arrays.asList(ids)));
}
}