package com.kcim.service.impl; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kcim.constants.NumberConstant; import com.kcim.dao.model.Test; import com.kcim.dao.repository.TestRepository; import com.kcim.service.DemoService; import com.kcim.util.BeanUtil; import com.kcim.util.PageUtils; import com.kcim.util.UserContext; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Date; import java.util.Objects; /** * @program: center-parent * @description: * @author: Wang.YS * @create: 2023-11-30 20:15 **/ @Service("DemoService") @Slf4j @AllArgsConstructor public class DemoServiceImpl implements DemoService { TestRepository repository; /** * 测试-新增 * @param request 入参 */ @Override public void testAdd(Test request) { request.setCreateUser(String.valueOf(UserContext.getCurrentUser().getId())); request.setCreateTime(new Date()); repository.save(request); } /** * 测试-编辑 * @param request 入参 */ @Override public void testEdit(Test request) { Integer id = request.getId(); Test byId = repository.getById(id); if(Objects.nonNull(byId)){ Test test = BeanUtil.convertObj(request, byId); test.setUpdateTime(new Date()); test.setUpdateUser(String.valueOf(UserContext.getCurrentUser().getId())); repository.updateById(test); } } /** * 测试删除 * @param id 主键 */ @Override public void testDelete(Integer id) { Test byId = repository.getById(id); if(Objects.nonNull(byId)){ byId.setUpdateTime(new Date()); byId.setUpdateUser(String.valueOf(UserContext.getCurrentUser().getId())); repository.updateById(byId); //逻辑删除 需要给del_flag 添加 @TableLogic(value = "0",delval = "1") 进行标识 repository.removeById(id); } } /** * 测试-查询 * @param name 名称过滤 * @return 符合条件的数据 */ @Override public Object testQuery(String name) { return repository.getList(name); } /** * 测试分页查询 * @param current 当前页 * @param pageSize 页容量 * @param name 过滤名称 * @return 分页列表 */ @Override public Object testPage(Integer current, Integer pageSize, String name) { Page page = repository.getPage(current, pageSize, name); if(CollectionUtils.isEmpty(page.getRecords())){ return new PageUtils(new ArrayList<>(), NumberConstant.ZERO,pageSize,current); } return new PageUtils(page.getRecords(), Math.toIntExact(page.getTotal()),pageSize,current); } }