package com.ruoyi.management.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.management.domain.TPage; import com.ruoyi.management.domain.TProtocol; import com.ruoyi.management.domain.TSysSet; import com.ruoyi.management.domain.TUseGuide; import com.ruoyi.management.dto.AggrementDTO; import com.ruoyi.management.dto.UseGuidDTO; import com.ruoyi.management.query.UseGuideQuery; import com.ruoyi.management.service.ITPageService; import com.ruoyi.management.service.ITProtocolService; import com.ruoyi.management.service.ITSysSetService; import com.ruoyi.management.service.ITUseGuideService; import com.ruoyi.management.vo.PageVO; import com.ruoyi.management.vo.SysSetVO; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Date; import java.util.List; /** *

* 系统设置 前端控制器 *

* * @author 无关风月 * @since 2024-04-26 */ @RestController @RequestMapping("/tSysSet") public class TSysSetController { @Autowired private ITSysSetService sysSetService; @Autowired private ITPageService pageService; @Autowired private ITProtocolService protocolService; @Autowired private ITUseGuideService useGuideService; @ApiOperation(value = "获取系统设置", tags = {"后台-系统设置"}) @PostMapping(value = "/getSysSet") public AjaxResult getSysSet() { TSysSet byId = sysSetService.getById(1); SysSetVO sysSetVO = new SysSetVO(); BeanUtils.copyProperties(byId, sysSetVO); return AjaxResult.success(sysSetVO); } @ApiOperation(value = "保存系统设置", tags = {"后台-系统设置"}) @PostMapping(value = "/saveSysSet") public AjaxResult saveSysSet(SysSetVO vo) { TSysSet byId = sysSetService.getById(1); BeanUtils.copyProperties(vo, byId); // 音效更改及更改音效设置时间 if (!byId.getCorrect().equals(vo.getCorrect()) || !byId.getError().equals(vo.getError())) { byId.setAcousticsTime(new Date()); } byId.setId(1); sysSetService.updateById(byId); return AjaxResult.success("保存成功"); } @ApiOperation(value = "获取启动页", tags = {"后台-启动页管理"}) @PostMapping(value = "/getPage") public AjaxResult getPage() { List list = pageService.list(); return AjaxResult.success(list); } @ApiOperation(value = "获取注意事项、启动页", tags = {"家长端-获取注意事项、启动页"}) @PostMapping(value = "/getPage1") public R> getPage1() { List list = pageService.list(); return R.ok(list); } @ApiOperation(value = "保存启动页", tags = {"后台-启动页管理"}) @PostMapping(value = "/setPage") public AjaxResult setPage(@RequestBody PageVO vo) { String page1 = vo.getPage1(); String page2 = vo.getPage2(); String page3 = vo.getPage3(); String page4 = vo.getPage4(); if (StringUtils.hasLength(page1)) { TPage type = pageService.getOne(new QueryWrapper() .eq("type", 1)); TPage tPage = new TPage(); if (type == null) { tPage.setImg(page1); tPage.setType(1); pageService.save(tPage); } else { type.setImg(page1); pageService.updateById(type); } } if (StringUtils.hasLength(page2)) { TPage type = pageService.getOne(new QueryWrapper() .eq("type", 2)); TPage tPage = new TPage(); if (type == null) { tPage.setImg(page2); tPage.setType(2); pageService.save(tPage); } else { type.setImg(page2); pageService.updateById(type); } } if (StringUtils.hasLength(page3)) { TPage type = pageService.getOne(new QueryWrapper() .eq("type", 3)); TPage tPage = new TPage(); if (type == null) { tPage.setImg(page3); tPage.setType(3); pageService.save(tPage); } else { type.setImg(page3); pageService.updateById(type); } } if (StringUtils.hasLength(page4)) { TPage type = pageService.getOne(new QueryWrapper() .eq("type", 4)); if (type == null) { TPage tPage = new TPage(); tPage.setImg(page4); tPage.setType(4); pageService.save(tPage); } else { type.setImg(page4); pageService.updateById(type); } } return AjaxResult.success("保存成功"); } @PostMapping("/agreement") @ApiOperation(value = "协议", tags = {"后台-协议管理"}) public AjaxResult agreement(@RequestBody AggrementDTO dto) { TProtocol protocol = protocolService.getById(dto.getType()); if (StringUtils.hasLength(dto.getContent())){ protocol.setContent(dto.getContent()); protocolService.updateById(protocol); return AjaxResult.success("修改成功"); }else { return AjaxResult.success(protocol.getContent()); } } @PostMapping("/agreement1/{type}") @ApiOperation(value = "协议", tags = {"家长端/学习端-获取协议"}) public R agreement1(@PathVariable("type") Integer type) { TProtocol protocol = protocolService.getOne(new QueryWrapper() .eq("type", type)); return R.ok(protocol.getContent()); } @PostMapping("/useGuide") @ApiOperation(value = "使用指南-列表查询", tags = {"后台-使用指南"}) public AjaxResult> agreement(String title, Integer pageNumber, Integer pageSize) { QueryWrapper wrapper = new QueryWrapper<>(); if (StringUtils.hasLength(title)) { wrapper.like("title", title); } List strings = new ArrayList<>(); strings.add("insertTime"); wrapper.orderByDesc(strings); List useGuides = useGuideService.list(wrapper); PageInfo res = new PageInfo<>(pageNumber, pageSize); res.setRecords(useGuides); res.setTotal(useGuides.size()); return AjaxResult.success(res); } @PostMapping("/useGuide1") @ApiOperation(value = "列表查询", tags = {"家长端-使用指南"}) public R> useGuide1(@RequestBody UseGuideQuery query) { query.setPageNumber((query.getPageNumber() - 1) * query.getPageSize()); QueryWrapper wrapper = new QueryWrapper<>(); if (StringUtils.hasLength(query.getTitle())) { wrapper.like("title", query.getTitle()); } List strings = new ArrayList<>(); strings.add("insertTime"); wrapper.orderByDesc(strings); PageInfo res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); List useGuides = useGuideService.list(wrapper); List useGuides2 = useGuideService.listAll(query); res.setRecords(useGuides2); res.setTotal(useGuides.size()); return R.ok(res); } @PostMapping("/updateUseGuide") @ApiOperation(value = "使用指南-添加/编辑/查看详情", tags = {"使用指南"}) public AjaxResult updateUseGuide(@RequestBody UseGuidDTO dto) { switch (dto.getType()) { case 1: TUseGuide useGuide = new TUseGuide(); useGuide.setTitle(dto.getTitle()); useGuide.setSort(dto.getSort()); useGuide.setAnswer(dto.getAnswer()); useGuide.setInsertTime(new Date()); useGuideService.save(useGuide); return AjaxResult.success(useGuide); case 2: TUseGuide useGuide1 = useGuideService.getById(dto.getId()); useGuide1.setId(dto.getId()); useGuide1.setTitle(dto.getTitle()); useGuide1.setSort(dto.getSort()); useGuide1.setAnswer(dto.getAnswer()); useGuideService.updateById(useGuide1); return AjaxResult.success(useGuide1); case 3: TUseGuide useGuide2 = useGuideService.getById(dto.getId()); return AjaxResult.success(useGuide2); } return AjaxResult.success(new TUseGuide()); } @DeleteMapping("/delete") @ApiOperation(value = "使用指南-删除", tags = {"使用指南"}) public AjaxResult updateUseGuide(Integer id) { // TUseGuide useGuide2 = useGuideService.getById(id); useGuideService.removeById(id); return AjaxResult.success("删除成功"); } @GetMapping("/shareInfo") @ApiOperation(value = "获取分享图片、标题及可获积分数", tags = {"获取分享图片、标题及可获积分数"}) public R shareInfo() { return R.ok(sysSetService.lambdaQuery().one()); } @ApiOperation(value = "获取正确及错误提示音效", tags = {"学习端-首页"}) @GetMapping(value = "/promptVoice") public R promptVoice() { return R.ok(sysSetService.lambdaQuery().eq(TSysSet::getDisabled, 0).one()); } @ApiOperation(value = "2.0新增,是否展示文字配置", tags = {"2.0新增,是否展示文字配置"}) @GetMapping(value = "/getIsOpen") public R getIsOpen() { TSysSet one = sysSetService.lambdaQuery().eq(TSysSet::getDisabled, 0).one(); switch (one.getIsOpen()){ case 1: return R.ok(true); case 0: return R.ok(false); } return R.ok(); } }