jiangping
2025-02-26 21ffb032824db3c392f63d318d36efee33326b80
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -1,15 +1,18 @@
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;
@@ -18,6 +21,7 @@
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;
@@ -54,6 +58,8 @@
    @Autowired
    private CarUseBookMapper carUseBookMapper;
    @Autowired
    private UserActionMapper userActionMapper;
    @Autowired
    private CarUseBookJoinMapper carUseBookJoinMapper;
@@ -146,7 +152,7 @@
        }
        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();
@@ -159,7 +165,6 @@
                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                    Arrays.asList(systemUser.getOpenid().split(",")),0);
        }
        return carUseBook.getId();
    }
@@ -167,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);
@@ -248,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;
    }