From 0798091933fade5d2ee24891d7441b4e848a4d25 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 17 十二月 2024 17:15:39 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java |  104 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 89 insertions(+), 15 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 cffa394..612951a 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
@@ -6,16 +6,21 @@
 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.DESUtil;
-import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.*;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.SmsConfigMapper;
+import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.join.ApproveJoinMapper;
 import com.doumee.dao.business.join.CarUseBookJoinMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.business.vo.ApproveDataVO;
 import com.doumee.dao.business.vo.DateIntervalVO;
+
+import com.doumee.dao.system.SystemUserMapper;
+import com.doumee.dao.system.join.NoticesJoinMapper;
+import com.doumee.dao.system.model.Notices;
 import com.doumee.dao.system.model.SystemDictData;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.ApproveService;
@@ -24,8 +29,8 @@
 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.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,12 +40,8 @@
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
-import java.time.temporal.ChronoUnit;
+import java.util.*;
 import java.util.Date;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
 
 /**
  * 杞﹁締_鐢ㄨ溅鐢宠淇℃伅琛⊿ervice瀹炵幇
@@ -66,6 +67,9 @@
     private ApproveJoinMapper approveJoinMapper;
 
     @Autowired
+    private NoticesJoinMapper noticesJoinMapper;
+
+    @Autowired
     private ApproveService approveService;
 
     @Autowired
@@ -74,6 +78,21 @@
     @Autowired
     private MemberMapper memberMapper;
 
+
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
+
+    @Autowired
+    private WxNoticeConfigMapper wxNoticeConfigMapper;
+
+    @Autowired
+    private SystemUserMapper systemUserMapper;
 
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -96,7 +115,7 @@
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐧诲綍鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�!");
         }
         if(carUseBook.getEndTime().getTime()<=System.currentTimeMillis()){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"閫夋嫨鏃ユ湡寮傚父[缁撴潫鏃堕棿灏忎簬褰撳墠鏃堕棿],璇峰埛鏂伴噸璇�");
+//            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"閫夋嫨鏃ユ湡寮傚父[缁撴潫鏃堕棿灏忎簬褰撳墠鏃堕棿],璇峰埛鏂伴噸璇�");
         }
         if(!(DateUtil.getDateFromString(carUseBook.getPlanUseDate()+":00").getTime()>=carUseBook.getStartTime().getTime()
                 && DateUtil.getDateFromString(carUseBook.getPlanUseDate() +":00").getTime()<= carUseBook.getEndTime().getTime())
@@ -107,7 +126,7 @@
         carUseBook.setCreateDate(new Date());
         carUseBook.setIsdeleted(Constants.ZERO);
         Cars cars = carsMapper.selectById(carUseBook.getCarId());
-        if(Objects.isNull(cars)||!cars.getType().equals(Constants.ONE)){
+        if(Objects.isNull(cars)||!cars.getType().equals(Constants.ZERO)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"杞﹁締淇℃伅寮傚父");
         }
         carUseBook.setCarCode(cars.getCode());
@@ -115,7 +134,7 @@
         CarDriver carDriver = carDriverMapper.selectOne(new QueryWrapper<CarDriver>().lambda()
                 .eq(CarDriver::getCarId,cars.getId())
                 .eq(CarDriver::getIsdeleted,Constants.ZERO)
-                .eq(CarDriver::getStatus,Constants.ONE)
+//                .eq(CarDriver::getStatus,Constants.ZERO)
                 .last( " limit 1 ")
         );
         if(Objects.nonNull(carDriver)&&Objects.nonNull(carDriver.getMemberId())){
@@ -128,6 +147,19 @@
         carUseBookMapper.insert(carUseBook);
         //鐢ㄨ溅鐢宠 瀹℃壒璁板綍鍒涘缓
         approveService.createApproveFlow(carUseBook.getType()==0?3:4,carUseBook.getId(),carUseBook.getMemberId());
+        //鍙戦�佸井淇″叕浼楀彿閫氱煡
+        //鍙戦�佸井淇″叕浼楀彿閫氱煡
+        WxPlatNotice wxPlatNotice = new WxPlatNotice();
+        SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+        if(Objects.nonNull(systemUser) && StringUtils.isNotBlank(systemUser.getOpenid())){
+            carUseBook.setMemberName(systemUser.getRealname());
+            wxPlatNotice.sendCarUseBookTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper,carUseBook,
+                    WxPlatConstants.carUseBookContent.carUseBookUpload,
+                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                    Arrays.asList(systemUser.getOpenid().split(",")),0);
+        }
+
         return carUseBook.getId();
     }
 
@@ -245,7 +277,18 @@
         queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName);
         queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
                     .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId)
-                    .leftJoin("company t4 on t1.company_id=t4.id");
+                    .leftJoin("company t4 on t1.company_id=t4.id");   //鏁版嵁鏉冮檺寮�濮�--------------------start----------------
+        LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo();
+        if(userInfo!=null && userInfo.getCompanyIdList()!=null){
+            if( userInfo.getCompanyIdList().size() ==0){
+                //鍙兘鐪嬭嚜宸�
+                queryWrapper.eq(CarUseBook::getCreator,userInfo.getId());
+            }else{
+                queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList());
+            }
+        }
+        //鏁版嵁鏉冮檺寮�濮�--------------------end----------------
+
         queryWrapper
                 .eq(pageWrap.getModel().getId() != null, CarUseBook::getId, pageWrap.getModel().getId())
                 .eq(pageWrap.getModel().getCreator() != null, CarUseBook::getCreator, pageWrap.getModel().getCreator())
@@ -398,7 +441,7 @@
             }
             //鍒ゆ柇鏃堕棿鏄惁澶т簬褰撳墠
             if(Constants.equalsInteger(dateIntervalVO.getIsUse(),Constants.ZERO)  && DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()<=System.currentTimeMillis()){
-                dateIntervalVO.setIsUse(Constants.ONE);
+//                dateIntervalVO.setIsUse(Constants.ONE);
                 continue;
             }
         }
@@ -459,6 +502,37 @@
                .in(Approve::getObjType,Constants.approveObjectType.cityUseCar,Constants.approveObjectType.unCityUseCar)
                 .eq(Approve::getObjId,id)
         );
+
+        //澶勭悊寰呭姙淇℃伅
+        noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
+                .set(Notices::getStatus,Constants.ONE)
+                .set(Notices::getInfo,"宸插彇娑�")
+                .eq(Notices::getType,Constants.TWO)
+                .eq(Notices::getObjId,carUseBook.getId())
+        );
+
+
+        SystemUser systemUser = systemUserMapper.selectById(carUseBook.getCreator());
+        if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getMobile())){
+            //鐢ㄨ溅鐢宠鍙栨秷
+            SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,carUseBook.getId(),
+                    SmsConstants.carUseBookContent.carUseBookCancel,
+                    info, Arrays.asList(systemUser.getMobile().split(","))
+            );
+            if(StringUtils.isNotBlank(systemUser.getOpenid())){
+                carUseBook.setMemberName(systemUser.getRealname());
+                WxPlatNotice wxPlatNotice = new WxPlatNotice();
+                wxPlatNotice.sendCarUseBookTemplateNotice(systemDictDataBiz,
+                        wxNoticeConfigMapper,
+                        carUseBook,
+                        WxPlatConstants.carUseBookContent.carUseBookCancel,
+                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                        Arrays.asList(systemUser.getOpenid().split(",")),
+                        Constants.TWO);
+            }
+
+        }
     }
 
 

--
Gitblit v1.9.3