package com.bofeng.service; import com.baomidou.mybatisplus.toolkit.IdWorker; import com.bofeng.dao.OutScanEstateMapper; import com.bofeng.dao.OutScanMapper; import com.bofeng.entity.OutScan; import com.bofeng.entity.OutScanEstate; import org.joda.time.DateTime; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.Date; @Service @Transactional(readOnly = true) public class ScanService { @Autowired private OutScanMapper outScanMapper; @Autowired private OutScanEstateMapper outScanEstateMapper; @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) public void saveOutScan(Long userId, Integer inType, Long uptownId, Long doorId) { if (inType == 1) { // 进出的时候修改数据,但若是第一次进去就需要加一条出去的数据 OutScan outScan1 = outScanMapper.getOutScanByUserlimit(userId); if (outScan1 == null) { OutScan outScan = new OutScan(); outScan.setScanId(IdWorker.getId()); outScan.setUserId(userId); outScan.setUptownId(uptownId); outScan.setIntoDoorId(doorId); outScan.setIntoDate(new DateTime()); outScan.setOutDoorId(doorId); outScan.setOutDate(new DateTime()); outScan.setUserCreate(userId); outScan.setUserUpdate(userId); outScanMapper.insert(outScan); } else { outScan1.setIntoDoorId(doorId); outScan1.setIntoDate(new DateTime()); outScan1.setUserUpdate(userId); outScanMapper.updateById(outScan1); } } else if (inType == 2) { // 出去的时候添加数据 OutScan outScan = new OutScan(); outScan.setScanId(IdWorker.getId()); outScan.setUserId(userId); outScan.setUptownId(uptownId); outScan.setOutDoorId(doorId); outScan.setOutDate(new DateTime()); outScan.setIntoDoorId(0L); outScan.setIntoDate(null); outScan.setUserCreate(userId); outScan.setUserUpdate(userId); outScanMapper.insert(outScan); } } @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) public void saveOutScanEstate(Long userId) { OutScanEstate o = new OutScanEstate(); o.setSeId(IdWorker.getId()); o.setUserId(userId); o.setNowDate(new Date()); o.setScanDate(new DateTime()); o.setUserCreate(userId); o.setUserUpdate(userId); outScanEstateMapper.insert(o); } }