package com.ltkj.web.controller.system; import java.text.ParseException; import java.util.*; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.utils.DateUtils; import com.ltkj.mall.service.IMallSchedulingTimeService; import io.swagger.annotations.ApiParam; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.enums.BusinessType; import com.ltkj.mall.domain.StjMemo; import com.ltkj.mall.service.IStjMemoService; import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; /** * 备忘录Controller * * @author ltkj_赵佳豪&李格 * @date 2023-11-15 */ @RestController @RequestMapping("/mall/memo") public class StjMemoController extends BaseController { @Autowired private IStjMemoService stjMemoService; @Autowired private IMallSchedulingTimeService mallSchedulingTimeService; /** * 查询备忘录列表 */ // @PreAuthorize("@ss.hasPermi('mall:memo:list')") @GetMapping("/list") public TableDataInfo list(StjMemo stjMemo) { startPage(); List list = stjMemoService.selectStjMemoList(stjMemo); return getDataTable(list); } /** * 导出备忘录列表 */ // @PreAuthorize("@ss.hasPermi('mall:memo:export')") @Log(title = "备忘录", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, StjMemo stjMemo) { List list = stjMemoService.selectStjMemoList(stjMemo); ExcelUtil util = new ExcelUtil(StjMemo.class); util.exportExcel(response, list, "备忘录数据"); } /** * 获取备忘录详细信息 */ // @PreAuthorize("@ss.hasPermi('mall:memo:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(stjMemoService.selectStjMemoById(id)); } /** * 新增备忘录 */ // @PreAuthorize("@ss.hasPermi('mall:memo:add')") @Log(title = "备忘录", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody StjMemo stjMemo) { stjMemo.setMFlag("0"); return toAjax(stjMemoService.save(stjMemo)); } /** * 修改备忘录 */ // @PreAuthorize("@ss.hasPermi('mall:memo:edit')") @Log(title = "备忘录", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody StjMemo stjMemo) { return toAjax(stjMemoService.saveOrUpdate(stjMemo)); } /** * 删除备忘录 */ // @PreAuthorize("@ss.hasPermi('mall:memo:remove')") @Log(title = "备忘录", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(stjMemoService.removeByIds(Arrays.asList(ids))); } /** * 根据userid和日期查看当日所有事件 */ @GetMapping("/listByUserAndDate") public AjaxResult listByUserAndDate(@RequestParam String userId, @RequestParam Date mDate) { LambdaQueryWrapper wq=new LambdaQueryWrapper<>(); wq.eq(StjMemo::getUserId,userId); wq.eq(StjMemo::getMDate,mDate); List list = stjMemoService.list(wq); return AjaxResult.success(list); } /** * 根据userid和日期查看当月所有事件 */ @GetMapping("/listByDate") public AjaxResult listByDate(@RequestParam String userId, @RequestParam Date mDate) { // Map> res=new HashMap<>(); // List dateList = mallSchedulingTimeService.getDateListByBetweenTime(DateUtil.format(DateUtil.beginOfMonth(mDate),"yyyy-MM-dd HH:mm:ss"), // DateUtil.format(DateUtil.endOfMonth(mDate),"yyyy-MM-dd HH:mm:ss")); // // for (Date date : dateList) { // LambdaQueryWrapper wq=new LambdaQueryWrapper<>(); // wq.eq(StjMemo::getUserId,userId); // wq.eq(StjMemo::getMDate,date); // List list = stjMemoService.list(wq); // String format = DateUtil.format(date, "yyyy-MM-dd"); // if (list.size()==0){ // StjMemo stjMemo=new StjMemo(); // stjMemo.setTitle("无"); // stjMemo.setMFlag("0"); // list.add(stjMemo); // } // res.put(format,list); // } // return AjaxResult.success(res); LambdaQueryWrapper wq=new LambdaQueryWrapper<>(); wq.eq(StjMemo::getUserId,userId); wq.between(StjMemo::getMDate,(DateUtil.format(DateUtil.beginOfMonth(mDate),"yyyy-MM-dd")),(DateUtil.format(DateUtil.endOfMonth(mDate),"yyyy-MM-dd"))); List list = stjMemoService.list(wq); for (StjMemo stjMemo : list) { String formatDate = DateUtil.format(stjMemo.getMDate(),"yyyy-MM"); stjMemo.setFormat(formatDate); } return AjaxResult.success(list); } }