From 5e666f007f44851c5f29a9e79c5efbc49e451591 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 08 三月 2024 09:52:14 +0800 Subject: [PATCH] 模板规则中间表数据 --- ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java | 44 ++++++++++++++ ycl-server/src/main/java/com/ycl/platform/mapper/CheckTemplateRuleMapper.java | 13 ++++ ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java | 73 ++++++++++++++++++----- 3 files changed, 113 insertions(+), 17 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java new file mode 100644 index 0000000..24ec670 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java @@ -0,0 +1,44 @@ +package com.ycl.platform.domain.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * @author锛歺p + * @date锛�2024/3/8 9:18 + */ +@Data +@Accessors(chain = true) +@TableName("t_check_template_rule") +@ApiModel(value = "CheckTemplate瀵硅薄", description = "鑰冩牳妯℃澘") +public class CheckTemplateRule { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 妯℃澘ID + */ + @TableField("check_template_id") + private Integer checkTemplateId; + + /** + * 瑙勫垯ID + */ + @TableField("check_rule_id") + private Integer checkRuleId; + + /** + * 鏉冮噸 + */ + @TableField("weight") + private BigDecimal weight; + +} diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckTemplateRuleMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckTemplateRuleMapper.java new file mode 100644 index 0000000..d7e1ad2 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckTemplateRuleMapper.java @@ -0,0 +1,13 @@ +package com.ycl.platform.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ycl.platform.domain.entity.CheckTemplateRule; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author锛歺p + * @date锛�2024/3/8 9:18 + */ +@Mapper +public interface CheckTemplateRuleMapper extends BaseMapper<CheckTemplateRule> { +} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java index 37398d2..03b5866 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java @@ -1,9 +1,13 @@ package com.ycl.platform.service.impl; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.ycl.platform.base.BaseSelect; import com.ycl.platform.domain.entity.CheckTemplate; +import com.ycl.platform.domain.entity.CheckTemplateRule; import com.ycl.platform.domain.entity.YwUnit; +import com.ycl.platform.domain.vo.RuleItemVO; import com.ycl.platform.mapper.CheckTemplateMapper; +import com.ycl.platform.mapper.CheckTemplateRuleMapper; import com.ycl.platform.service.CheckTemplateService; import com.ycl.system.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -39,6 +43,7 @@ public class CheckTemplateServiceImpl extends ServiceImpl<CheckTemplateMapper, CheckTemplate> implements CheckTemplateService { private final CheckTemplateMapper checkTemplateMapper; + private final CheckTemplateRuleMapper checkTemplateRuleMapper; /** * 娣诲姞 @@ -46,12 +51,18 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result add(CheckTemplateForm form) { CheckTemplate entity = CheckTemplateForm.getEntityByForm(form, null); - if(baseMapper.insert(entity) > 0) { - return Result.ok("娣诲姞鎴愬姛"); - } - return Result.error("娣诲姞澶辫触"); + baseMapper.insert(entity); + form.getRuleFormList().stream().forEach(rule -> { + CheckTemplateRule checkTemplateRule = new CheckTemplateRule(); + checkTemplateRule.setCheckTemplateId(entity.getId()); + checkTemplateRule.setCheckRuleId(rule.getRuleId()); + checkTemplateRule.setWeight(rule.getWeight()); + checkTemplateRuleMapper.insert(checkTemplateRule); + }); + return Result.ok("娣诲姞鎴愬姛"); } /** @@ -60,17 +71,28 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result update(CheckTemplateForm form) { CheckTemplate entity = baseMapper.selectById(form.getId()); - // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); BeanUtils.copyProperties(form, entity); - if (baseMapper.updateById(entity) > 0) { - return Result.ok("淇敼鎴愬姛"); - } - return Result.error("淇敼澶辫触"); + baseMapper.updateById(entity); + + // 鍏堝垹闄ゅ師鍏堢殑瀵瑰簲鍏崇郴 + new LambdaUpdateChainWrapper<>(checkTemplateRuleMapper) + .eq(CheckTemplateRule::getCheckTemplateId, form.getId()) + .remove(); + // 鍐嶉噸鏂版坊鍔� + form.getRuleFormList().stream().forEach(rule -> { + CheckTemplateRule checkTemplateRule = new CheckTemplateRule(); + checkTemplateRule.setCheckTemplateId(entity.getId()); + checkTemplateRule.setCheckRuleId(rule.getRuleId()); + checkTemplateRule.setWeight(rule.getWeight()); + checkTemplateRuleMapper.insert(checkTemplateRule); + }); + return Result.ok("淇敼鎴愬姛"); } /** @@ -79,11 +101,13 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result remove(List<String> ids) { - if(baseMapper.deleteBatchIds(ids) > 0) { - return Result.ok("鍒犻櫎鎴愬姛"); - } - return Result.error("鍒犻櫎澶辫触"); + baseMapper.deleteBatchIds(ids); + new LambdaUpdateChainWrapper<>(checkTemplateRuleMapper) + .in(CheckTemplateRule::getCheckTemplateId, ids) + .remove(); + return Result.ok("鍒犻櫎鎴愬姛"); } /** @@ -92,11 +116,13 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result removeById(String id) { - if(baseMapper.deleteById(id) > 0) { - return Result.ok("鍒犻櫎鎴愬姛"); - } - return Result.error("鍒犻櫎澶辫触"); + baseMapper.deleteById(id); + new LambdaUpdateChainWrapper<>(checkTemplateRuleMapper) + .eq(CheckTemplateRule::getCheckTemplateId, id) + .remove(); + return Result.ok("鍒犻櫎鎴愬姛"); } /** @@ -135,6 +161,19 @@ CheckTemplate entity = baseMapper.selectById(id); Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); CheckTemplateVO vo = CheckTemplateVO.getVoByEntity(entity, null); + + // 鏌ヨ�冩牳瑙勫垯 + List<CheckTemplateRule> ruleList = new LambdaQueryChainWrapper<>(checkTemplateRuleMapper) + .eq(CheckTemplateRule::getCheckTemplateId, entity.getId()) + .list(); + List<RuleItemVO> ruleVOS = ruleList.stream().map(rule -> { + RuleItemVO ruleItemVO = new RuleItemVO(); + ruleItemVO.setRuleId(rule.getCheckRuleId()); + ruleItemVO.setWeight(rule.getWeight()); + return ruleItemVO; + }).collect(Collectors.toList()); + vo.setRuleFormList(ruleVOS); + return Result.ok().data(vo); } -- Gitblit v1.8.0