|
@@ -0,0 +1,114 @@
|
|
|
+package com.iden.bms.service;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.iden.common.entity.IdenWarningRuleEventComming;
|
|
|
+import com.iden.common.entity.IdenWarningRuleResident;
|
|
|
+import com.iden.common.entity.IdenWarningRuleStranger;
|
|
|
+import com.iden.common.service.IdenWarningRuleEventCommingService;
|
|
|
+import com.iden.common.service.IdenWarningRuleResidentService;
|
|
|
+import com.iden.common.service.IdenWarningRuleStrangerService;
|
|
|
+import com.iden.common.vo.*;
|
|
|
+
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ * @author makejava
|
|
|
+ * @since 2021-05-21 00:08:38
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class WarningRuleService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private IdenWarningRuleStrangerService idenWarningRuleStrangerService;
|
|
|
+ @Resource
|
|
|
+ private IdenWarningRuleResidentService idenWarningRuleResidentService;
|
|
|
+ @Resource
|
|
|
+ private IdenWarningRuleEventCommingService idenWarningRuleEventCommingService;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 详情
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public WarningRuleVO getWarningRuleInfo(){
|
|
|
+ WarningRuleVO resVO = new WarningRuleVO();
|
|
|
+ QueryWrapper<IdenWarningRuleStranger> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.lambda().orderByDesc(IdenWarningRuleStranger::getModifyTime);
|
|
|
+ queryWrapper.last("limit 1");
|
|
|
+ IdenWarningRuleStranger idenWarningRuleStranger = this.idenWarningRuleStrangerService.getOne(queryWrapper);
|
|
|
+ if (idenWarningRuleStranger != null){
|
|
|
+ WarningRuleStrangerVO warningRuleStrangerVO = new WarningRuleStrangerVO();
|
|
|
+ BeanUtil.copyProperties(idenWarningRuleStranger,warningRuleStrangerVO);
|
|
|
+ resVO.setWarningRuleStrangerVO(warningRuleStrangerVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ QueryWrapper<IdenWarningRuleResident> queryWrapper1 = new QueryWrapper<>();
|
|
|
+ queryWrapper1.lambda().orderByDesc(IdenWarningRuleResident::getModifyTime);
|
|
|
+ queryWrapper1.last("limit 1");
|
|
|
+ IdenWarningRuleResident idenWarningRuleResident = this.idenWarningRuleResidentService.getOne(queryWrapper1);
|
|
|
+ if (idenWarningRuleResident != null){
|
|
|
+ WarningRuleResidentVO warningRuleResidentVO = new WarningRuleResidentVO();
|
|
|
+ BeanUtil.copyProperties(idenWarningRuleResident,warningRuleResidentVO);
|
|
|
+ resVO.setWarningRuleResidentVO(warningRuleResidentVO);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ QueryWrapper<IdenWarningRuleEventComming> queryWrapper2 = new QueryWrapper<>();
|
|
|
+ queryWrapper2.lambda().orderByAsc(IdenWarningRuleEventComming::getCreateTime);
|
|
|
+ List<IdenWarningRuleEventComming> idenWarningRuleEventCommings = this.idenWarningRuleEventCommingService.list(queryWrapper2);
|
|
|
+ if (CollUtil.isNotEmpty(idenWarningRuleEventCommings)){
|
|
|
+ List<WarningRuleEventCommingVO> vos = new ArrayList<>();
|
|
|
+ idenWarningRuleEventCommings.forEach(item-> {
|
|
|
+ WarningRuleEventCommingVO warningRuleEventCommingVO = new WarningRuleEventCommingVO();
|
|
|
+ BeanUtil.copyProperties(item,warningRuleEventCommingVO);
|
|
|
+ vos.add(warningRuleEventCommingVO);
|
|
|
+
|
|
|
+ });
|
|
|
+ resVO.setWarningRuleEventCommingVO(vos);
|
|
|
+ }
|
|
|
+
|
|
|
+ return resVO;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改
|
|
|
+ * @param vo
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void updateWarningRule(WarningRuleVO vo) {
|
|
|
+ WarningRuleStrangerVO warningRuleStrangerVO = vo.getWarningRuleStrangerVO();
|
|
|
+ IdenWarningRuleStranger idenWarningRuleStranger = new IdenWarningRuleStranger();
|
|
|
+ BeanUtil.copyProperties(warningRuleStrangerVO,idenWarningRuleStranger);
|
|
|
+ this.idenWarningRuleStrangerService.updateById(idenWarningRuleStranger);
|
|
|
+
|
|
|
+ WarningRuleResidentVO warningRuleResidentVO = vo.getWarningRuleResidentVO();
|
|
|
+ IdenWarningRuleResident idenWarningRuleResident = new IdenWarningRuleResident();
|
|
|
+ BeanUtil.copyProperties(warningRuleResidentVO,idenWarningRuleResident);
|
|
|
+ this.idenWarningRuleResidentService.updateById(idenWarningRuleResident);
|
|
|
+
|
|
|
+ List<WarningRuleEventCommingVO> warningRuleEventCommingVOS = vo.getWarningRuleEventCommingVO();
|
|
|
+ if(CollUtil.isNotEmpty(warningRuleEventCommingVOS)){
|
|
|
+ List<IdenWarningRuleEventComming> idenWarningRuleEventCommings = new ArrayList<>();
|
|
|
+ warningRuleEventCommingVOS.forEach(item->{
|
|
|
+ IdenWarningRuleEventComming idenWarningRuleEventComming = new IdenWarningRuleEventComming();
|
|
|
+ BeanUtil.copyProperties(item,idenWarningRuleEventComming);
|
|
|
+ idenWarningRuleEventCommings.add(idenWarningRuleEventComming);
|
|
|
+ });
|
|
|
+ QueryWrapper<IdenWarningRuleEventComming> queryWrapper = new QueryWrapper<>();
|
|
|
+ //删除原来的,添加新的
|
|
|
+ if(this.idenWarningRuleEventCommingService.remove(queryWrapper)){
|
|
|
+ this.idenWarningRuleEventCommingService.saveBatch(idenWarningRuleEventCommings);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|