From cb6aca0642ac8dd5de877ade168066d85acb589c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 17 十月 2025 15:54:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkLineServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkLineServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkLineServiceImpl.java
index c5b5fa2..3d347eb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkLineServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkLineServiceImpl.java
@@ -10,6 +10,7 @@
 import com.doumee.dao.admin.request.JkLineImport;
 import com.doumee.dao.business.CarsMapper;
 import com.doumee.dao.business.CategoryMapper;
+import com.doumee.dao.business.JkCustomerMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.service.business.third.model.PageData;
@@ -22,6 +23,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.models.auth.In;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -34,6 +36,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 浜ゆ帶-绾胯矾淇℃伅琛⊿ervice瀹炵幇
@@ -49,6 +52,8 @@
     private JkLineMapper jkLineMapper;
     @Autowired
     private CategoryMapper categoryMapper;
+    @Autowired
+    private JkCustomerMapper jkCustomerMapper;
     @Autowired
     private CarsMapper carsMapper;
 
@@ -77,6 +82,15 @@
 
     @Override
     public void deleteById(Integer id, LoginUserInfo user) {
+        JkLine c = jkLineMapper.selectById(id);
+        if(c == null||Constants.equalsInteger(c.getIsdeleted(),Constants.ONE)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        //濡傛灉鏄柊绾胯矾锛屾鏌ユ槸鍚︽湁瀛愮嚎璺紝鏈夊垯涓嶅厑璁稿垹闄�
+        if(jkCustomerMapper.selectCount(new MPJLambdaWrapper<JkCustomer>().eq(JkCustomer::getIsdeleted,Constants.ZERO)
+                .eq(JkCustomer::getLineId,id)) >0){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"绾胯矾銆�"+c.getName()+"銆戜笅宸插瓨鍦ㄥ鎴蜂俊鎭紝涓嶅厑璁稿垹闄わ紒");
+        }
         jkLineMapper.update(null,new UpdateWrapper<JkLine>().lambda()
                 .set(JkLine::getIsdeleted,Constants.ONE)
                 .set(JkLine::getEditor,user.getId())
@@ -95,6 +109,17 @@
     public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
+        }
+        for(Integer id :ids){
+            JkLine c = jkLineMapper.selectById(id);
+            if(c == null||Constants.equalsInteger(c.getIsdeleted(),Constants.ONE)){
+               continue;
+            }
+            //濡傛灉鏄柊绾胯矾锛屾鏌ユ槸鍚︽湁瀛愮嚎璺紝鏈夊垯涓嶅厑璁稿垹闄�
+            if(jkCustomerMapper.selectCount(new MPJLambdaWrapper<JkCustomer>().eq(JkCustomer::getIsdeleted,Constants.ZERO)
+                    .eq(JkCustomer::getLineId,id)) >0){
+                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"绾胯矾銆�"+c.getName()+"銆戜笅宸插瓨鍦ㄥ鎴蜂俊鎭紝涓嶅厑璁稿垹闄わ紒");
+            }
         }
         jkLineMapper.update(null,new UpdateWrapper<JkLine>().lambda()
                 .set(JkLine::getIsdeleted,Constants.ONE)
@@ -146,10 +171,32 @@
 
     @Override
     public List<JkLine> findList(JkLine jkLine) {
+
+        MPJLambdaWrapper<JkLine> queryWrapper = new MPJLambdaWrapper<>();
         jkLine.setIsdeleted(Constants.ZERO);
-        QueryWrapper<JkLine> wrapper = new QueryWrapper<>(jkLine);
-        wrapper.lambda().orderByAsc(JkLine::getCode);
-        return jkLineMapper.selectList(wrapper);
+        queryWrapper.selectAll(JkLine.class )
+                .selectAs(Member::getName,JkLine::getMemberName)
+                .selectAs(Cars::getCode,JkLine::getCarCode)
+                .leftJoin(Cars.class,Cars::getId,JkLine::getCarId )
+                .leftJoin(Member.class,Member::getId,Cars::getMemberId );
+        jkLine.setIsdeleted(Constants.ZERO);
+        if (jkLine.getIsdeleted() != null) {
+            queryWrapper.eq(JkLine::getIsdeleted, jkLine.getIsdeleted());
+        }
+        if (jkLine.getCategoryId() != null) {
+            queryWrapper.eq(JkLine::getCategoryId, jkLine.getCategoryId());
+        }
+        if (jkLine.getCarId() != null) {
+            queryWrapper.eq(JkLine::getCarId, jkLine.getCarId());
+        }
+        if (jkLine.getStatus() != null) {
+            queryWrapper.eq(JkLine::getStatus, jkLine.getStatus());
+        }
+        if (jkLine.getSortnum() != null) {
+            queryWrapper.eq(JkLine::getSortnum, jkLine.getSortnum());
+        }
+        queryWrapper.orderByAsc(JkLine::getCode);
+        return jkLineMapper.selectJoinList(JkLine.class,queryWrapper);
     }
   
     @Override
@@ -230,7 +277,7 @@
         if(importing!=null && importing){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝宸插瓨鍦ㄥ鍏ヤ换鍔℃鍦ㄦ墽琛屼腑锛岃绋嶅悗鍐嶈瘯锛�");
         }
-        redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_JKLINE,true);
+        redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_JKLINE,true,30, TimeUnit.MINUTES);
         try {
             ExcelImporter ie = null;
             List<JkLineImport> dataList =null;

--
Gitblit v1.9.3