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