From b7dcd397a426496cb9f961f2cb69152815cc169f Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 26 四月 2024 13:44:47 +0800 Subject: [PATCH] 核算报告功能实现 --- ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java | 158 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 104 insertions(+), 54 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java index 62567e2..df1a3a5 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java @@ -1,95 +1,145 @@ package com.ycl.platform.service.impl; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.domain.entity.CalculateMoneyRule; import com.ycl.platform.mapper.CalculateMoneyRuleMapper; -import com.ycl.platform.service.ICalculateMoneyRuleService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - +import com.ycl.platform.service.CalculateMoneyRuleService; +import com.ycl.system.Result; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.platform.domain.form.CalculateMoneyRuleForm; +import com.ycl.platform.domain.vo.CalculateMoneyRuleVO; +import com.ycl.platform.domain.query.CalculateMoneyRuleQuery; import java.util.List; +import org.apache.commons.lang3.StringUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ycl.system.page.PageUtil; +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.stream.Collectors; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import lombok.RequiredArgsConstructor; /** - * 鏍哥畻瑙勫垯Service涓氬姟灞傚鐞� + * 閽辨牳绠楄鍒欒〃 鏈嶅姟瀹炵幇绫� * - * @author ruoyi - * @date 2024-04-03 + * @author xp + * @since 2024-04-26 */ @Service -public class CalculateMoneyRuleServiceImpl extends ServiceImpl<CalculateMoneyRuleMapper, CalculateMoneyRule> implements ICalculateMoneyRuleService -{ - @Autowired - private CalculateMoneyRuleMapper calculateMoneyRuleMapper; +@RequiredArgsConstructor +public class CalculateMoneyRuleServiceImpl extends ServiceImpl<CalculateMoneyRuleMapper, CalculateMoneyRule> implements CalculateMoneyRuleService { + + private final CalculateMoneyRuleMapper calculateMoneyRuleMapper; /** - * 鏌ヨ鏍哥畻瑙勫垯 - * - * @param id 鏍哥畻瑙勫垯涓婚敭 - * @return 鏍哥畻瑙勫垯 + * 娣诲姞 + * @param form + * @return */ @Override - public CalculateMoneyRule selectCalculateRuleById(Long id) - { - return calculateMoneyRuleMapper.selectCalculateRuleById(id); + public Result add(CalculateMoneyRuleForm form) { + CalculateMoneyRule entity = CalculateMoneyRuleForm.getEntityByForm(form, null); + if(baseMapper.insert(entity) > 0) { + return Result.ok("娣诲姞鎴愬姛"); + } + return Result.error("娣诲姞澶辫触"); } /** - * 鏌ヨ鏍哥畻瑙勫垯鍒楄〃 - * - * @param calculateMoneyRule 鏍哥畻瑙勫垯 - * @return 鏍哥畻瑙勫垯 + * 淇敼 + * @param form + * @return */ @Override - public List<CalculateMoneyRule> selectCalculateRuleList(CalculateMoneyRule calculateMoneyRule) - { - return calculateMoneyRuleMapper.selectCalculateRuleList(calculateMoneyRule); + public Result update(CalculateMoneyRuleForm form) { + + CalculateMoneyRule 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 calculateMoneyRule 鏍哥畻瑙勫垯 - * @return 缁撴灉 + * 鎵归噺鍒犻櫎 + * @param ids + * @return */ @Override - public int insertCalculateRule(CalculateMoneyRule calculateMoneyRule) - { - return calculateMoneyRuleMapper.insertCalculateRule(calculateMoneyRule); + public Result remove(List<String> ids) { + if(baseMapper.deleteBatchIds(ids) > 0) { + return Result.ok("鍒犻櫎鎴愬姛"); + } + return Result.error("鍒犻櫎澶辫触"); } /** - * 淇敼鏍哥畻瑙勫垯 - * - * @param calculateMoneyRule 鏍哥畻瑙勫垯 - * @return 缁撴灉 + * id鍒犻櫎 + * @param id + * @return */ @Override - public int updateCalculateRule(CalculateMoneyRule calculateMoneyRule) - { - return calculateMoneyRuleMapper.updateCalculateRule(calculateMoneyRule); + 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 deleteCalculateRuleByIds(Long[] ids) - { - return calculateMoneyRuleMapper.deleteCalculateRuleByIds(ids); + public Result page(CalculateMoneyRuleQuery query) { + + IPage<CalculateMoneyRule> page = new LambdaQueryChainWrapper<>(baseMapper) + .orderByDesc(CalculateMoneyRule::getCreateTime) + .page(PageUtil.getPage(query, CalculateMoneyRule.class)); + + List<CalculateMoneyRuleVO> vos = page.getRecords().stream() + .map( + entity -> CalculateMoneyRuleVO.getVoByEntity(entity, null) + ) + .collect(Collectors.toList()); + return Result.ok().data(vos).total(page.getTotal()); } /** - * 鍒犻櫎鏍哥畻瑙勫垯淇℃伅 - * - * @param id 鏍哥畻瑙勫垯涓婚敭 - * @return 缁撴灉 + * 鏍规嵁id鏌ユ壘 + * @param id + * @return */ @Override - public int deleteCalculateRuleById(Long id) - { - return calculateMoneyRuleMapper.deleteCalculateRuleById(id); + public Result detail(String id) { + + CalculateMoneyRule entity = baseMapper.selectById(id); + Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); + CalculateMoneyRuleVO vo = CalculateMoneyRuleVO.getVoByEntity(entity, null); + return Result.ok().data(vo); + } + + /** + * 鍒楄〃 + * @return + */ + @Override + public Result all() { + List<CalculateMoneyRule> entities = baseMapper.selectList(null); + List<CalculateMoneyRuleVO> vos = entities.stream() + .map( + entity -> CalculateMoneyRuleVO.getVoByEntity(entity, null) + ) + .collect(Collectors.toList()); + return Result.ok().data(vos); } } -- Gitblit v1.8.0