From 8dcb0edcc2ceaa244501e7ed0c4f363ab4f3a428 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 03 四月 2026 15:29:04 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwGatewayServiceImpl.java |  142 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 142 insertions(+), 0 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwGatewayServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwGatewayServiceImpl.java
new file mode 100644
index 0000000..d9b5653
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwGatewayServiceImpl.java
@@ -0,0 +1,142 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwGatewayMapper;
+import com.doumee.dao.business.model.YwGateway;
+import com.doumee.service.business.YwGatewayService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 缃戝叧绠$悊Service瀹炵幇
+ * @author renkang
+ * @date 2026/04/02
+ */
+@Service
+public class YwGatewayServiceImpl implements YwGatewayService {
+
+    @Autowired
+    private YwGatewayMapper ywGatewayMapper;
+
+    @Override
+    public Integer create(YwGateway ywGateway) {
+        if (Objects.isNull(ywGateway)
+                || StringUtils.isBlank(ywGateway.getName())
+                || StringUtils.isBlank(ywGateway.getGatewayCode())) {
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = ywGateway.getLoginUserInfo();
+        // 鏍¢獙缃戝叧璁惧鍙峰敮涓�
+        if (ywGatewayMapper.selectCount(new QueryWrapper<YwGateway>().lambda()
+                .eq(YwGateway::getIsdeleted, Constants.ZERO)
+                .eq(YwGateway::getGatewayCode, ywGateway.getGatewayCode())) > Constants.ZERO) {
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "缃戝叧璁惧鍙烽噸澶�!");
+        }
+        ywGateway.setCreateDate(new Date());
+        ywGateway.setCreator(loginUserInfo.getId());
+        ywGateway.setEditDate(new Date());
+        ywGateway.setEditor(loginUserInfo.getId());
+        ywGateway.setIsdeleted(Constants.ZERO);
+        ywGatewayMapper.insert(ywGateway);
+        return ywGateway.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id, LoginUserInfo user) {
+        ywGatewayMapper.update(new UpdateWrapper<YwGateway>()
+                .lambda()
+                .set(YwGateway::getIsdeleted, Constants.ONE)
+                .set(YwGateway::getEditDate, DateUtil.getCurrDateTime())
+                .set(YwGateway::getEditor, user.getId())
+                .eq(YwGateway::getId, id)
+        );
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        for (Integer id : ids) {
+            this.deleteById(id, user);
+        }
+    }
+
+    @Override
+    public void updateById(YwGateway ywGateway) {
+        if (Objects.isNull(ywGateway)
+                || Objects.isNull(ywGateway.getId())
+                || StringUtils.isBlank(ywGateway.getName())
+                || StringUtils.isBlank(ywGateway.getGatewayCode())) {
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = ywGateway.getLoginUserInfo();
+        // 鏍¢獙缃戝叧璁惧鍙峰敮涓�锛堟帓闄よ嚜韬級
+        if (ywGatewayMapper.selectCount(new QueryWrapper<YwGateway>().lambda()
+                .eq(YwGateway::getIsdeleted, Constants.ZERO)
+                .eq(YwGateway::getGatewayCode, ywGateway.getGatewayCode())
+                .ne(YwGateway::getId, ywGateway.getId())) > Constants.ZERO) {
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "缃戝叧璁惧鍙烽噸澶�!");
+        }
+        ywGateway.setEditDate(new Date());
+        ywGateway.setEditor(loginUserInfo.getId());
+        ywGatewayMapper.updateById(ywGateway);
+    }
+
+    @Override
+    public void updateStatusById(YwGateway ywGateway) {
+        YwGateway model = new YwGateway();
+        model.setId(ywGateway.getId());
+        model.setStatus(ywGateway.getStatus());
+        ywGatewayMapper.updateById(model);
+    }
+
+    @Override
+    public YwGateway findById(Integer id) {
+        return ywGatewayMapper.selectJoinOne(YwGateway.class,
+                new MPJLambdaWrapper<YwGateway>()
+                        .selectAll(YwGateway.class)
+                        .selectAs(com.doumee.dao.business.model.YwProject::getName, YwGateway::getProjectName)
+                        .leftJoin(com.doumee.dao.business.model.YwProject.class, com.doumee.dao.business.model.YwProject::getId, YwGateway::getProjectId)
+                        .eq(YwGateway::getId, id)
+                        .last(" limit 1 ")
+        );
+    }
+
+    @Override
+    public PageData<YwGateway> findPage(PageWrap<YwGateway> pageWrap) {
+        IPage<YwGateway> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<YwGateway> queryWrapper = new MPJLambdaWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        YwGateway model = pageWrap.getModel();
+        queryWrapper.selectAll(YwGateway.class)
+                .selectAs(com.doumee.dao.business.model.YwProject::getName, YwGateway::getProjectName)
+                .leftJoin(com.doumee.dao.business.model.YwProject.class, com.doumee.dao.business.model.YwProject::getId, YwGateway::getProjectId)
+                .and(Objects.nonNull(model) && StringUtils.isNotBlank(model.getName()),
+                        i -> i.like(YwGateway::getName, model.getName()).or().like(YwGateway::getGatewayCode, model.getName()))
+                .eq(Objects.nonNull(model) && Objects.nonNull(model.getStatus()), YwGateway::getStatus, model.getStatus())
+                .eq(Objects.nonNull(model) && Objects.nonNull(model.getProjectId()), YwGateway::getProjectId, model.getProjectId())
+                .eq(YwGateway::getIsdeleted, Constants.ZERO)
+                .orderByDesc(YwGateway::getCreateDate);
+        IPage<YwGateway> iPage = ywGatewayMapper.selectJoinPage(page, YwGateway.class, queryWrapper);
+        return PageData.from(iPage);
+    }
+}

--
Gitblit v1.9.3