From 32b4f6188f32e6c08e813efa98a25d94eacdc0c6 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 02 四月 2024 09:32:29 +0800 Subject: [PATCH] Revert "新考核" --- ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java | 197 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 140 insertions(+), 57 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java index bb33bf6..3b297fc 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java @@ -1,97 +1,180 @@ package com.ycl.platform.service.impl; +import com.ycl.exception.ServiceException; import com.ycl.platform.domain.entity.DefaultRule; +import com.ycl.platform.domain.entity.YwUnit; +import com.ycl.platform.domain.form.DefaultRuleSetForm; import com.ycl.platform.mapper.DefaultRuleMapper; -import com.ycl.platform.service.IDefaultRuleService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import utils.DateUtils; - +import com.ycl.platform.service.DefaultRuleService; +import com.ycl.system.Result; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.platform.domain.form.DefaultRuleForm; +import com.ycl.platform.domain.vo.DefaultRuleVO; +import com.ycl.platform.domain.query.DefaultRuleQuery; import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ycl.system.page.PageUtil; +import com.ycl.utils.DateUtils; +import org.springframework.stereotype.Service; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.beans.BeanUtils; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; +import java.util.ArrayList; +import java.util.Objects; +import java.util.stream.Collectors; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import lombok.RequiredArgsConstructor; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + /** - * 杩濈害瑙勫垯Service涓氬姟灞傚鐞� - * - * @author ruoyi - * @date 2024-04-01 + * 杩濈害瑙勫垯 鏈嶅姟瀹炵幇绫� + * + * @author xp + * @since 2024-03-05 */ @Service -public class DefaultRuleServiceImpl implements IDefaultRuleService -{ - @Autowired - private DefaultRuleMapper defaultRuleMapper; +@RequiredArgsConstructor +public class DefaultRuleServiceImpl extends ServiceImpl<DefaultRuleMapper, DefaultRule> implements DefaultRuleService { + + private final DefaultRuleMapper defaultRuleMapper; /** - * 鏌ヨ杩濈害瑙勫垯 - * - * @param id 杩濈害瑙勫垯涓婚敭 - * @return 杩濈害瑙勫垯 + * 娣诲姞 + * @param form + * @return */ @Override - public DefaultRule selectDefaultRuleById(Long id) - { - return defaultRuleMapper.selectDefaultRuleById(id); + public Result add(DefaultRuleForm form) { + DefaultRule entity = DefaultRuleForm.getEntityByForm(form, null); + entity.setRuleStatus("鏈惎鐢�"); + if(baseMapper.insert(entity) > 0) { + return Result.ok("娣诲姞鎴愬姛"); + } + return Result.error("娣诲姞澶辫触"); } /** - * 鏌ヨ杩濈害瑙勫垯鍒楄〃 - * - * @param defaultRule 杩濈害瑙勫垯 - * @return 杩濈害瑙勫垯 + * 淇敼 + * @param form + * @return */ @Override - public List<DefaultRule> selectDefaultRuleList(DefaultRule defaultRule) - { - return defaultRuleMapper.selectDefaultRuleList(defaultRule); + public Result update(DefaultRuleForm form) { + + DefaultRule entity = baseMapper.selectById(form.getId()); + + // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 + Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); + BeanUtils.copyProperties(form, entity); + if (baseMapper.updateById(entity) > 0) { + return Result.ok("淇敼鎴愬姛"); + } + return Result.error("淇敼澶辫触"); } /** - * 鏂板杩濈害瑙勫垯 - * - * @param defaultRule 杩濈害瑙勫垯 - * @return 缁撴灉 + * 鎵归噺鍒犻櫎 + * @param ids + * @return */ @Override - public int insertDefaultRule(DefaultRule defaultRule) - { - defaultRule.setCreateTime(DateUtils.getNowDate()); - return defaultRuleMapper.insertDefaultRule(defaultRule); + public Result remove(List<String> ids) { + if(baseMapper.deleteBatchIds(ids) > 0) { + return Result.ok("鍒犻櫎鎴愬姛"); + } + return Result.error("鍒犻櫎澶辫触"); } /** - * 淇敼杩濈害瑙勫垯 - * - * @param defaultRule 杩濈害瑙勫垯 - * @return 缁撴灉 + * id鍒犻櫎 + * @param id + * @return */ @Override - public int updateDefaultRule(DefaultRule defaultRule) - { - defaultRule.setUpdateTime(DateUtils.getNowDate()); - return defaultRuleMapper.updateDefaultRule(defaultRule); + public Result removeById(String id) { + if(baseMapper.deleteById(id) > 0) { + return Result.ok("鍒犻櫎鎴愬姛"); + } + return Result.error("鍒犻櫎澶辫触"); } /** - * 鎵归噺鍒犻櫎杩濈害瑙勫垯 - * - * @param ids 闇�瑕佸垹闄ょ殑杩濈害瑙勫垯涓婚敭 - * @return 缁撴灉 + * 鍒嗛〉鏌ヨ + * @param query + * @return */ @Override - public int deleteDefaultRuleByIds(Long[] ids) - { - return defaultRuleMapper.deleteDefaultRuleByIds(ids); + public Result page(DefaultRuleQuery query) { + + IPage<DefaultRule> page = new LambdaQueryChainWrapper<>(baseMapper) + .like(StringUtils.hasText(query.getRuleName()), DefaultRule::getRuleName, query.getRuleName()) + .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()), + DefaultRule::getCreateTime, + DateUtils.getDayStart(query.getStart()), + DateUtils.getDayEnd(query.getEnd())) + .orderByDesc(DefaultRule::getCreateTime) + .page(PageUtil.getPage(query, DefaultRule.class)); + + List<DefaultRuleVO> vos = page.getRecords().stream() + .map( + entity -> DefaultRuleVO.getVoByEntity(entity, null) + ) + .collect(Collectors.toList()); + return Result.ok().data(vos).total(page.getTotal()); } /** - * 鍒犻櫎杩濈害瑙勫垯淇℃伅 - * - * @param id 杩濈害瑙勫垯涓婚敭 - * @return 缁撴灉 + * 鏍规嵁id鏌ユ壘 + * @param id + * @return */ @Override - public int deleteDefaultRuleById(Long id) - { - return defaultRuleMapper.deleteDefaultRuleById(id); + public Result detail(String id) { + + DefaultRule entity = baseMapper.selectById(id); + Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); + DefaultRuleVO vo = DefaultRuleVO.getVoByEntity(entity, null); + return Result.ok().data(vo); + } + + /** + * 鍒楄〃 + * @return + */ + @Override + public Result all() { + List<DefaultRule> entities = baseMapper.selectList(null); + List<DefaultRuleVO> vos = entities.stream() + .map( + entity -> DefaultRuleVO.getVoByEntity(entity, null) + ) + .collect(Collectors.toList()); + return Result.ok().data(vos); + } + + @Override + public Result set(DefaultRuleSetForm form) { + DefaultRule defaultRule = baseMapper.selectById(form.getId()); + if (Objects.isNull(defaultRule)) { + throw new ServiceException("杩濈害瑙勫垯涓嶅瓨鍦�"); + } + if (form.getFlag()) { + // 鍚敤涔嬪墠妫�鏌ユ槸鍚﹀凡缁忔湁鍚敤鐨勮鍒欎簡锛屼繚鎸佷竴涓紑鍚� + List<DefaultRule> useList = new LambdaQueryChainWrapper<>(baseMapper) + .eq(DefaultRule::getRuleStatus, "鍚敤") + .list(); + if (! CollectionUtils.isEmpty(useList)) { + throw new ServiceException("宸茬粡鏈夎鍒欒鍚敤浜嗭紝鍙兘鍚屾椂鍚敤涓�涓鍒�"); + } + defaultRule.setRuleStatus("鍚敤"); + } else { + defaultRule.setRuleStatus("鏈惎鐢�"); + } + baseMapper.updateById(defaultRule); + return Result.ok("鎿嶄綔鎴愬姛"); } } -- Gitblit v1.8.0