From 4658e9353f7aa76a833d36ed988d77bf362ad0ea Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期二, 21 五月 2024 11:54:12 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

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

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index 52ee70b..6ca26bd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -1,11 +1,16 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DESUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.CarUseBookMapper;
+import com.doumee.dao.business.CarsMapper;
+import com.doumee.dao.business.join.CarUseBookJoinMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.service.business.CarUseBookService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -18,6 +23,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -33,8 +39,54 @@
     @Autowired
     private CarUseBookMapper carUseBookMapper;
 
+    @Autowired
+    private CarUseBookJoinMapper carUseBookJoinMapper;
+
+    @Autowired
+    private CarsMapper carsMapper;
+
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
+
     @Override
     public Integer create(CarUseBook carUseBook) {
+        if(Objects.isNull(carUseBook)
+            || Objects.isNull(carUseBook.getCarId())
+                || Objects.isNull(carUseBook.getStartTime())
+                || Objects.isNull(carUseBook.getEndTime())
+                || Objects.isNull(carUseBook.getCreator())
+                || Objects.isNull(carUseBook.getMemberId())
+                || Objects.isNull(carUseBook.getPlanUseDate())
+                || Objects.isNull(carUseBook.getType())
+                || StringUtils.isEmpty(carUseBook.getMemberIds())
+                || StringUtils.isEmpty(carUseBook.getMemberNames())
+                || StringUtils.isEmpty(carUseBook.getContent())
+                || StringUtils.isEmpty(carUseBook.getAddr())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        carUseBook.setStatus(Constants.ZERO);
+        carUseBook.setCreateDate(new Date());
+        Cars cars = carsMapper.selectById(carUseBook.getCarId());
+        if(Objects.isNull(cars)||!cars.getType().equals(Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"杞﹁締淇℃伅寮傚父");
+        }
+        //TODO 鏌ヨ杞﹁締鎻愪氦鏃堕棿鏄惁瀛樺湪鍐茬獊鐨勯绾﹁褰�
+        List<CarUseBook> carUseBookList = carUseBookJoinMapper.selectJoinList(CarUseBook.class,
+                new MPJLambdaWrapper<CarUseBook>()
+                        .selectAll(CarUseBook.class)
+                        .selectAs(Member::getName,CarUseBook::getMemberName)
+                        .selectAs(Member::getPhone,CarUseBook::getMemberMobile)
+                        .leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
+                        .eq(CarUseBook::getId,carUseBook.getCarId())
+                        .in(CarUseBook::getStatus,0,1,2)
+//                        .in( " ( '"+carUseBook.getStartTime()+"' < t.start_time AND '"+ carUseBook.getEndTime()+"'> t.end_time ) " )
+        );
+
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carUseBookList)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪杞﹁締棰勭害鏃堕棿涓庡凡棰勭害鏃堕棿鍐茬獊~");
+        }
         carUseBookMapper.insert(carUseBook);
         return carUseBook.getId();
     }
@@ -176,4 +228,49 @@
         QueryWrapper<CarUseBook> wrapper = new QueryWrapper<>(carUseBook);
         return carUseBookMapper.selectCount(wrapper);
     }
+
+
+    /**
+     * 鏌ヨ杞﹁締棰勭害璁板綍
+     * @param carUseBook
+     * @return
+     */
+    @Override
+    public List<CarUseBook> carUseBookList(CarUseBook carUseBook){
+        if(Objects.isNull(carUseBook)
+            || Objects.isNull(carUseBook.getCarId())
+            || Objects.isNull(carUseBook.getStartTime())
+            || Objects.isNull(carUseBook.getEndTime())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        List<CarUseBook> carUseBookList = carUseBookJoinMapper.selectJoinList(CarUseBook.class,
+                new MPJLambdaWrapper<CarUseBook>()
+                        .selectAll(CarUseBook.class)
+                        .selectAs(Member::getName,CarUseBook::getMemberName)
+                        .selectAs(Member::getPhone,CarUseBook::getMemberMobile)
+                        .leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
+                        .eq(CarUseBook::getId,carUseBook.getCarId())
+                        .in(CarUseBook::getStatus,0,1,2)
+//                        .in( " ( '"+carUseBook.getStartTime()+"' < t.start_time AND '"+ carUseBook.getEndTime()+"'> t.end_time ) " )
+        );
+        return carUseBookList;
+    }
+
+
+//    public void checkDateUse(Integer cars,String dateDay){
+//
+//        SystemDictData workStart = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.WORK_START);
+//        SystemDictData workEnd = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.WORK_END);
+//        SystemDictData interval = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INTERVAL);
+//
+//        Date start = DateUtil.StringToDate(dateDay + workStart.getCode(),"yyyy-MM-dd HH:mm:ss");
+//
+//
+//
+//
+//
+//    }
+
+
+
 }

--
Gitblit v1.9.3