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<StjMemo> 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<StjMemo> list = stjMemoService.selectStjMemoList(stjMemo);
|
ExcelUtil<StjMemo> util = new ExcelUtil<StjMemo>(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<StjMemo> wq=new LambdaQueryWrapper<>();
|
wq.eq(StjMemo::getUserId,userId);
|
wq.eq(StjMemo::getMDate,mDate);
|
List<StjMemo> list = stjMemoService.list(wq);
|
return AjaxResult.success(list);
|
}
|
|
|
/**
|
* 根据userid和日期查看当月所有事件
|
*/
|
@GetMapping("/listByDate")
|
public AjaxResult listByDate(@RequestParam String userId,
|
@RequestParam Date mDate) {
|
Map<String,List<StjMemo>> res=new HashMap<>();
|
List<Date> 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<StjMemo> wq=new LambdaQueryWrapper<>();
|
wq.eq(StjMemo::getUserId,userId);
|
wq.eq(StjMemo::getMDate,date);
|
List<StjMemo> 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);
|
}
|
}
|