From 4e2e52b766d87fc528d02bdebc1757c3dda8c596 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 26 二月 2025 09:22:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 105 insertions(+), 8 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 4730fa1..0712acb 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,13 +1,19 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.doumee.biz.system.SystemDictDataBiz;
 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.dao.business.dao.UserActionMapper;
+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.*;
+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.MemberMapper;
+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;
@@ -15,7 +21,12 @@
 import com.doumee.dao.business.vo.ApproveDataVO;
 import com.doumee.dao.business.vo.DateIntervalVO;
 
+import com.doumee.dao.business.model.Member;
+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;
 import com.doumee.service.business.CarUseBookService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -48,6 +59,8 @@
     private CarUseBookMapper carUseBookMapper;
 
     @Autowired
+    private UserActionMapper userActionMapper;
+    @Autowired
     private CarUseBookJoinMapper carUseBookJoinMapper;
 
     @Autowired
@@ -58,6 +71,9 @@
 
     @Autowired
     private ApproveJoinMapper approveJoinMapper;
+
+    @Autowired
+    private NoticesJoinMapper noticesJoinMapper;
 
     @Autowired
     private ApproveService approveService;
@@ -77,6 +93,12 @@
 
     @Autowired
     private EmayService emayService;
+
+    @Autowired
+    private WxNoticeConfigMapper wxNoticeConfigMapper;
+
+    @Autowired
+    private SystemUserMapper systemUserMapper;
 
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -130,7 +152,19 @@
         }
         carUseBookMapper.insert(carUseBook);
         //鐢ㄨ溅鐢宠 瀹℃壒璁板綍鍒涘缓
-        approveService.createApproveFlow(carUseBook.getType()==0?3:4,carUseBook.getId(),carUseBook.getMemberId());
+        approveService.createApproveFlow(carUseBook.getType()==0?3:4,carUseBook.getId(),carUseBook.getMemberId(),null);
+        //鍙戦�佸井淇″叕浼楀彿閫氱煡
+        //鍙戦�佸井淇″叕浼楀彿閫氱煡
+        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();
     }
 
@@ -138,7 +172,32 @@
     public void deleteById(Integer id) {
         carUseBookMapper.deleteById(id);
     }
-
+    @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public  void deleteById(Integer id,LoginUserInfo user) {
+        Date date = new Date();
+        MPJLambdaWrapper<CarUseBook>  queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.selectAll(CarUseBook.class);
+        queryWrapper.select("t1.name",CarUseBook::getMemberName);
+        queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId)
+                .eq(CarUseBook::getId,id)
+                .last("limit 1"  );
+        CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper);
+        if(model==null ||Constants.equalsInteger(Constants.ONE,model.getIsdeleted())){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        carUseBookMapper.update(null,new UpdateWrapper<CarUseBook>().lambda()
+                .set(CarUseBook::getIsdeleted,Constants.ONE)
+                .set(CarUseBook::getEditDate,date)
+                .set(CarUseBook::getEditor,user.getId())
+                .eq(CarUseBook::getId,id));
+        String[] params = new String[3];
+        params[0] = user.getRealname();
+        params[1]=DateUtil.getPlusTime2(date);
+        params[2]=model.getCarCode()+"-銆愪箻杞︿汉锛�"+model.getMemberNames()+" 銆�-銆愰绾︿汉锛�"+model.getMemberName()+"銆�-銆愭椂闂达細"+DateUtil.getPlusTime2(model.getStartTime())+"-"+DateUtil.getPlusTime2(model.getEndTime())+"銆�";
+        //璁板綍鍒犻櫎鏃ュ織
+        UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.CAR_BOOK_DEL,userActionMapper,date,params, JSONObject.toJSONString(model));
+    }
     @Override
     public void delete(CarUseBook carUseBook) {
         UpdateWrapper<CarUseBook> deleteWrapper = new UpdateWrapper<>(carUseBook);
@@ -219,6 +278,22 @@
             approveList.add(approve);
         }
         model.setApproveDateVO(approveDataVO);
+
+        Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
+                .eq(Notices::getObjId,id)
+                .eq(Notices::getType,Constants.noticesObjectType.useCar)
+                .eq(Notices::getUserId,memberId)
+                .eq(Notices::getSendacopy,Constants.ZERO)
+                .orderByDesc(Notices::getId).last(" limit 1 "));
+        if(Objects.nonNull(notices)){
+            if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+                model.setInfo("寰呮垜澶勭悊");
+            }else{
+                model.setInfo(notices.getInfo());
+            }
+        }
+
+
         return  model;
     }
 
@@ -473,14 +548,36 @@
                .in(Approve::getObjType,Constants.approveObjectType.cityUseCar,Constants.approveObjectType.unCityUseCar)
                 .eq(Approve::getObjId,id)
         );
-        Member member = memberMapper.selectById(carUseBook.getMemberId());
-        if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
+
+        //澶勭悊寰呭姙淇℃伅
+        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,
-                    null, Arrays.asList(member.getPhone().split(","))
+                    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