123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- package com.xy.service;
- import cn.hutool.core.util.StrUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.xy.dto.SysDictLogDto;
- import com.xy.entity.SysDict;
- import com.xy.entity.SysDictLog;
- import com.xy.mapper.SysDictLogMapper;
- import com.xy.sys.EnumSysDictOperateType;
- import com.xy.utils.Emptys;
- import com.xy.utils.MybatisPlusQuery;
- import com.xy.utils.PageBean;
- import com.xy.utils.R;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.AllArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.core.env.Environment;
- import org.springframework.stereotype.Service;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import java.time.LocalDateTime;
- import java.util.List;
- import static com.xy.utils.Beans.copy;
- import static com.xy.utils.PlusBeans.toIPage;
- import static com.xy.utils.PlusBeans.toPageBean;
- /**
- * <p>
- * 字典表 服务实现类
- * </p>
- *
- * @author 谭斌
- * @since 2024-10-09
- */
- @Slf4j
- @Service
- @AllArgsConstructor
- @Api(tags = "字典表")
- public class SysDictLogServiceImpl extends ServiceImpl<SysDictLogMapper, SysDictLog> implements SysDictLogService {
- private Environment environment;
- @PostMapping("obj")
- @ApiOperation("对象查询")
- public R<SysDictLogDto.Vo> obj(@RequestBody SysDictLogDto.Vo vo) {
- SysDictLogDto.SelectList selectList = copy(SysDictLogDto.SelectList.class, vo);
- List<SysDictLogDto.Vo> list = list(selectList).getData();
- if (Emptys.check(list)) {
- return R.ok(list.get(0));
- }
- return R.ok();
- }
- /**
- * 处理日志
- *
- * @param sysDictLog
- * @param operateType
- * @return
- */
- public boolean handleLog(SysDict sysDict, SysDictLog sysDictLog, EnumSysDictOperateType operateType) {
- sysDictLog.setSysDictId(sysDict.getId());
- sysDictLog.setId(null);
- sysDictLog.setIsSync(false);
- sysDictLog.setOperateType(operateType.getIntCode());
- if (EnumSysDictOperateType.UPDATE.getIntCode() == operateType.getIntCode()) {
- String code = sysDictLog.getCode();
- String paterCode = sysDictLog.getPaterCode();
- //更新只保存最后一条
- LambdaQueryWrapper<SysDictLog> lambdaQueryWrapper = new LambdaQueryWrapper<>();
- lambdaQueryWrapper.eq(StrUtil.isNotEmpty(code), SysDictLog::getCode, code);
- lambdaQueryWrapper.eq(StrUtil.isNotEmpty(paterCode), SysDictLog::getPaterCode, paterCode);
- lambdaQueryWrapper.eq(SysDictLog::getOperateType, EnumSysDictOperateType.UPDATE.getIntCode());
- lambdaQueryWrapper.orderByDesc(SysDictLog::getCreateTime);
- List<SysDictLog> sysDictLogs = this.list(lambdaQueryWrapper);
- if (Emptys.check(sysDictLogs)) {
- SysDictLog log = sysDictLogs.get(0);
- sysDictLog.setId(log.getId());
- }
- }
- sysDictLog.setCreateTime(LocalDateTime.now());
- saveOrUpdate(sysDictLog);
- return true;
- }
- @PostMapping("list")
- @ApiOperation("集合查询")
- public R<List<SysDictLogDto.Vo>> list(@RequestBody SysDictLogDto.SelectList selectList) {
- LambdaQueryWrapper<SysDictLog> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, SysDictLog.class).build();
- List<SysDictLog> list = list(lambdaQueryWrapper);
- return R.ok(copy(SysDictLogDto.Vo.class, list));
- }
- @PostMapping("page")
- @ApiOperation("分页查询")
- public R<PageBean<SysDictLogDto.Vo>> page(@RequestBody SysDictLogDto.Page page) {
- PageBean pageBean = page.getPage();
- LambdaQueryWrapper<SysDictLog> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, SysDictLog.class).build()
- .ge(page.getBeginTime() != null, SysDictLog::getCreateTime, page.getBeginTime()).le(page.getEndTime() != null, SysDictLog::getCreateTime, page.getEndTime());
- IPage<SysDictLog> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
- return R.ok(toPageBean(SysDictLogDto.Vo.class, iPage));
- }
- @PostMapping("save")
- @ApiOperation("添加")
- public R save(@RequestBody @Validated SysDictLogDto.Save save) {
- SysDictLog saveInfo = copy(SysDictLog.class, save);
- save(saveInfo);
- return R.ok();
- }
- @PostMapping("update")
- @ApiOperation("修改")
- public R update(@RequestBody @Validated SysDictLogDto.Update update) {
- SysDictLog updateInfo = copy(SysDictLog.class, update);
- updateById(updateInfo);
- return R.ok();
- }
- }
|