From e067f714c0588407b1c20ddd6b7af3b2043e35f8 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 29 九月 2025 11:29:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java |   74 ++++++++++++++++++++++++++++++------
 1 files changed, 61 insertions(+), 13 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java
index d84e165..bfa22f9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java
@@ -1,5 +1,11 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.Category;
+import com.doumee.dao.business.model.PlatformGroup;
+import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -14,6 +20,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -29,31 +36,62 @@
 
     @Override
     public Integer create(Warning warning) {
+        if(warningMapper.selectCount(new QueryWrapper<Warning>().lambda()
+                .eq(Warning::getIsdeleted,Constants.ZERO)
+                .eq(Warning::getName,warning.getName()) )>0){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝浜嬩欢绫诲瀷宸插瓨鍦紝璇疯繑鍥炲埛鏂伴〉闈㈡煡鐪嬶紒");
+        }
+        warning.setStatus(Constants.formatIntegerNum(warning.getStatus()));
+        warning.setIsdeleted(Constants.ZERO);
+        warning.setCreator(warning.getLoginUserInfo().getId());
+        warning.setCreateDate(new Date());
+        warning.setSubscribeStatus(Constants.ZERO);
+        warning.setEditDate(warning.getCreateDate());
+        warning.setEditor(warning.getCreator());
         warningMapper.insert(warning);
+
         return warning.getId();
     }
 
     @Override
-    public void deleteById(Integer id) {
-        warningMapper.deleteById(id);
+    public void deleteById(Integer id, LoginUserInfo user) {
+        warningMapper.update(null,new UpdateWrapper<Warning>().lambda()
+                .set(Warning::getIsdeleted,Constants.ONE)
+                .set(Warning::getEditor,user.getId())
+                .set(Warning::getEditDate,new Date())
+                .eq(Warning::getId,id)
+        );
     }
 
     @Override
-    public void delete(Warning warning) {
+    public void delete(Warning warning ) {
         UpdateWrapper<Warning> deleteWrapper = new UpdateWrapper<>(warning);
         warningMapper.delete(deleteWrapper);
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
-        warningMapper.deleteBatchIds(ids);
+        warningMapper.update(null,new UpdateWrapper<Warning>().lambda()
+                .set(Warning::getEditor,user.getId())
+                .set(Warning::getEditDate,new Date())
+                .set(Warning::getIsdeleted,Constants.ONE)
+                .in(Warning::getId,ids)
+        );
     }
 
     @Override
     public void updateById(Warning warning) {
+        if(warningMapper.selectCount(new QueryWrapper<Warning>().lambda()
+                .ne(Warning::getId,warning.getId())
+                .eq(Warning::getIsdeleted,Constants.ZERO)
+                .eq(Warning::getName,warning.getName()) )>0){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝浜嬩欢绫诲瀷宸插瓨鍦紝璇疯繑鍥炲埛鏂伴〉闈㈡煡鐪嬶紒");
+        }
+        warning.setEditDate(warning.getCreateDate());
+        warning.setEditor(warning.getCreator());
         warningMapper.updateById(warning);
     }
 
@@ -89,6 +127,7 @@
         IPage<Warning> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<Warning> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(Warning::getId, pageWrap.getModel().getId());
         }
@@ -110,7 +149,7 @@
             queryWrapper.lambda().eq(Warning::getIsdeleted, pageWrap.getModel().getIsdeleted());
         }
         if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(Warning::getName, pageWrap.getModel().getName());
+            queryWrapper.lambda().like(Warning::getName, pageWrap.getModel().getName());
         }
         if (pageWrap.getModel().getInfo() != null) {
             queryWrapper.lambda().eq(Warning::getInfo, pageWrap.getModel().getInfo());
@@ -149,13 +188,8 @@
         if (pageWrap.getModel().getSubscribeMemberId() != null) {
             queryWrapper.lambda().eq(Warning::getSubscribeMemberId, pageWrap.getModel().getSubscribeMemberId());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.lambda().orderByDesc(Warning::getSortnum);
+
         return PageData.from(warningMapper.selectPage(page, queryWrapper));
     }
 
@@ -164,4 +198,18 @@
         QueryWrapper<Warning> wrapper = new QueryWrapper<>(warning);
         return warningMapper.selectCount(wrapper);
     }
+    @Override
+    public  void updateStatus(Warning param) {
+        Warning model = warningMapper.selectById(param.getId());
+        if (model==null || Constants.equalsInteger(model.getIsdeleted(), Constants.ONE)) {
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(Constants.equalsInteger(model.getStatus(),param.getStatus())){
+            return;
+        }
+        model.setStatus(param.getStatus());
+        model.setEditDate(new Date());
+        model.setEditor(param.getLoginUserInfo().getId());
+        warningMapper.updateById(model);
+    }
 }

--
Gitblit v1.9.3