From 5d00461c75205fb306ead59522350fa1e8a3e729 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 21 三月 2025 10:35:27 +0800
Subject: [PATCH] Merge branch 'dev'

---
 business/src/main/java/com/ycl/service/impl/CodingRulerServiceImpl.java |  153 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 153 insertions(+), 0 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/CodingRulerServiceImpl.java b/business/src/main/java/com/ycl/service/impl/CodingRulerServiceImpl.java
new file mode 100644
index 0000000..60b119e
--- /dev/null
+++ b/business/src/main/java/com/ycl/service/impl/CodingRulerServiceImpl.java
@@ -0,0 +1,153 @@
+package com.ycl.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.ycl.common.enums.business.CodingRulerCodeTypeEnum;
+import com.ycl.common.enums.business.CodingRulerStatusEnum;
+import com.ycl.domain.entity.CodingRuler;
+import com.ycl.mapper.CodingRulerMapper;
+import com.ycl.service.CodingRulerService;
+import com.ycl.common.base.Result;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.domain.form.CodingRulerForm;
+import com.ycl.domain.vo.CodingRulerVO;
+import com.ycl.domain.query.CodingRulerQuery;
+import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
+import com.ycl.framework.utils.PageUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.util.Assert;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ *  鏈嶅姟瀹炵幇绫�
+ *
+ * @author zxl
+ * @since 2025-03-18
+ */
+@Service
+@RequiredArgsConstructor
+public class CodingRulerServiceImpl extends ServiceImpl<CodingRulerMapper, CodingRuler> implements CodingRulerService {
+
+    private final CodingRulerMapper codingRulerMapper;
+
+    /**
+     * 娣诲姞
+     * @param form
+     * @return
+     */
+    @Override
+    public Result add(CodingRulerForm form) {
+        CodingRuler entity = CodingRulerForm.getEntityByForm(form, null);
+        //璁剧疆榛樿鏈惎鍔�
+        entity.setStatus(0);
+        baseMapper.insert(entity);
+        return Result.ok("娣诲姞鎴愬姛");
+    }
+
+    /**
+     * 淇敼
+     * @param form
+     * @return
+     */
+    @Override
+    public Result update(CodingRulerForm form) {
+        CodingRuler entity = baseMapper.selectById(form.getId());
+        // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
+        Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
+        BeanUtils.copyProperties(form, entity);
+        baseMapper.updateById(entity);
+        return Result.ok("淇敼鎴愬姛");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     * @param ids
+     * @return
+     */
+    @Override
+    public Result remove(List<String> ids) {
+        baseMapper.deleteBatchIds(ids);
+        return Result.ok("鍒犻櫎鎴愬姛");
+    }
+
+    /**
+     * id鍒犻櫎
+     * @param id
+     * @return
+     */
+    @Override
+    public Result removeById(String id) {
+        baseMapper.deleteById(id);
+        return Result.ok("鍒犻櫎鎴愬姛");
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param query
+     * @return
+     */
+    @Override
+    public Result page(CodingRulerQuery query) {
+        IPage<CodingRulerVO> page = PageUtil.getPage(query, CodingRulerVO.class);
+
+        baseMapper.getPage(page, query);
+        return Result.ok().data(page.getRecords()).total(page.getTotal());
+    }
+
+    /**
+     * 鏍规嵁id鏌ユ壘
+     * @param id
+     * @return
+     */
+    @Override
+    public Result detail(Integer id) {
+        CodingRulerVO vo = baseMapper.getById(id);
+        Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
+        return Result.ok().data(vo);
+    }
+
+    /**
+     * 鍒楄〃
+     * @return
+     */
+    @Override
+    public Result all() {
+        List<CodingRuler> entities = baseMapper.selectList(null);
+        List<CodingRulerVO> vos = entities.stream()
+                .map(entity -> CodingRulerVO.getVoByEntity(entity, null))
+                .collect(Collectors.toList());
+        return Result.ok().data(vos);
+    }
+
+    @Override
+    public Result changeCodingRulerStatus(Integer id) {
+        //绾㈢爜 缁跨爜 鍚屾椂鍙兘鍚姩涓�涓�
+        CodingRuler codingRuler = baseMapper.selectById(id);
+        String msg = "";
+        //鍒ゆ柇浼犲叆 id 褰撳墠鐘舵��
+        if (CodingRulerStatusEnum.off.getValue().equals(codingRuler.getStatus())){
+            // 褰撳墠鐘舵�佹湭鍚姩 -- 淇敼涓哄惎鍔ㄧ姸鎬�
+            //鏌ヨ锛堢孩鐮�'缁跨爜锛夎鍒欐槸鍚﹀惎鍔�
+            CodingRuler statusStartCodingRuler = new LambdaQueryChainWrapper<CodingRuler>(baseMapper)
+                    .eq(CodingRuler::getStatus, CodingRulerStatusEnum.on.getValue())
+                    .eq(CodingRuler::getProjectCodeType, codingRuler.getProjectCodeType())
+                    .eq(CodingRuler::getDeleted,0)
+                    .one();
+            if (statusStartCodingRuler != null) {
+                throw new RuntimeException("鐩稿悓椤圭洰鐮佺被鍨嬪悓鏃跺彧鑳藉惎鍔ㄤ竴绉�");
+            }
+
+            codingRuler.setStatus(CodingRulerStatusEnum.on.getValue());
+            msg = CodingRulerStatusEnum.on.getDesc();
+        }else {
+            // 褰撳墠鐘舵�佸惎鍔� -- 淇敼涓烘湭鍚姩鐘舵��
+            codingRuler.setStatus(CodingRulerStatusEnum.off.getValue());
+            msg =  CodingRulerStatusEnum.off.getDesc();
+        }
+        baseMapper.updateById(codingRuler);
+        return Result.ok(msg);
+    }
+}

--
Gitblit v1.8.0