From 1fc8c9de17129666afd99d591a694c04aacade10 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Fri, 13 Aug 2021 17:47:25 +0800 Subject: [PATCH] 特殊因子新建接口 --- screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 84 insertions(+), 5 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java index 5038125..d08d880 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java @@ -9,9 +9,13 @@ import com.moral.api.service.SpecialDeviceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.constant.Constants; +import com.moral.constant.RedisConstants; import com.moral.constant.ResponseCodeEnum; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -48,6 +52,30 @@ @Autowired(required = false) private OrganizationMapper organizationMapper; + @Autowired(required = false) + private RedisTemplate redisTemplate; + + /* + * ���redis������������������ + * */ + private Map<String, Object> getDeviceInfoFromRedis(String mac) { + return (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE, mac); + } + + /* + * ������������������redis + */ + private void setDeviceInfoToRedis(String mac, Map<String, Object> deviceInfo) { + redisTemplate.opsForHash().put(RedisConstants.DEVICE, mac, deviceInfo); + } + + /* + * ���redis������������������ + */ + private void delDeviceInfoFromRedis(String mac) { + redisTemplate.opsForHash().delete(RedisConstants.DEVICE, mac); + } + @Override public Map<String, Object> getDataByCondition(Map map) { Map<String,Object> resultMap = new HashMap<>(); @@ -62,13 +90,15 @@ QueryWrapper<SpecialDevice> wrapper_Condition = new QueryWrapper<>(); wrapper_Condition.eq("is_delete",Constants.NOT_DELETE); if (!ObjectUtils.isEmpty(map.get("organization_id"))){ - wrapper_Condition.like("organization_id",map.get("organization_id").toString()); + wrapper_Condition.eq("organization_id",map.get("organization_id").toString()); } if (!ObjectUtils.isEmpty(map.get("keyword"))){ - wrapper_Condition.like("name",map.get("keyword").toString()).or().like("mac",map.get("keyword").toString()); + wrapper_Condition.and(wc -> wc.like("name",map.get("keyword").toString()).or().like("mac",map.get("keyword").toString())); + //wrapper_Condition.like("name",map.get("keyword").toString()).or().like("mac",map.get("keyword").toString()); } wrapper_Condition.orderByDesc("create_time"); Page resultPage = specialDeviceMapper.selectPage(page,wrapper_Condition); + int totalNumber = specialDeviceMapper.selectCount(wrapper_Condition); List<SpecialDevice> specialDevices = resultPage.getRecords(); SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List<Map<String,Object>> specialDeviceList = new ArrayList<>(); @@ -112,7 +142,7 @@ deviceVersionMap.put("name",version.getName()); } } - specialDeviceMap.put("deviceVersion",deviceVersionMap); + specialDeviceMap.put("version",deviceVersionMap); Map<String,Object> specialTypeMap = new HashMap<>(); if (!ObjectUtils.isEmpty(specialDevice.getSpecialType()) && specialDevice.getSpecialType()!=null && !"".equals(specialDevice.getSpecialType())){ int specialTypeId = Integer.parseInt(specialDevice.getSpecialType().toString()); @@ -123,6 +153,7 @@ SysDictData sysDictData = sysDictDataMapper.selectOne(wapper_sysDictData); if (!ObjectUtils.isEmpty(sysDictData)){ specialTypeMap.put("id",sysDictData.getId()); + specialTypeMap.put("dataKey",sysDictData.getDataKey()); specialTypeMap.put("name",sysDictData.getDataValue()); } } @@ -139,7 +170,7 @@ organizationMap.put("name",organization.getName()); } } - specialDeviceMap.put("organazation",organizationMap); + specialDeviceMap.put("organization",organizationMap); List<Map<String,Object>> organizationList = new ArrayList<>(); QueryWrapper<SpecialDeviceHistory> wapper_specialDeviceHistory = new QueryWrapper<>(); wapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE); @@ -165,7 +196,6 @@ specialDeviceList.add(specialDeviceMap); } resultMap.put("specialDevices",specialDeviceList); - int totalNumber = specialDevices.size(); resultMap.put("totalNumber",totalNumber); resultMap.put("current",current); int totalPageNumber = totalNumber/size; @@ -175,4 +205,53 @@ resultMap.put("totalPageNumber",totalPageNumber); return resultMap; } + + @Transactional + @Override + public Map<String, Object> insert(SpecialDevice specialDevice) { + Map<String,Object> resultMap = new HashMap<>(); + String name = specialDevice.getName(); + String mac = specialDevice.getMac(); + int organizationId = specialDevice.getOrganizationId(); + int deviceVersionId = specialDevice.getDeviceVersionId(); + String operateIds = specialDevice.getOperateIds(); + String specialType = specialDevice.getSpecialType(); + if (ObjectUtils.isEmpty(name) || ObjectUtils.isEmpty(mac) || ObjectUtils.isEmpty(specialType) || ObjectUtils.isEmpty(organizationId) || ObjectUtils.isEmpty(deviceVersionId)){ + resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); + resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + return resultMap; + } + if (name.equals("") || mac.equals("") || specialType.equals("")){ + resultMap.put("code",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getCode()); + resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg()); + return resultMap; + } + QueryWrapper<SpecialDevice> wrapper_mac = new QueryWrapper<>(); + wrapper_mac.eq("is_delete",Constants.NOT_DELETE); + wrapper_mac.eq("mac",mac); + int macNum = specialDeviceMapper.selectCount(wrapper_mac); + if (macNum>0){ + resultMap.put("code",ResponseCodeEnum.MAC_IS_EXIST.getCode()); + resultMap.put("msg",ResponseCodeEnum.MAC_IS_EXIST.getMsg()); + return resultMap; + } + specialDeviceMapper.insert(specialDevice); + QueryWrapper<SpecialDeviceHistory> wrapper_specialDeviceHistory = new QueryWrapper<>(); + wrapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE); + wrapper_specialDeviceHistory.eq("mac",mac); + wrapper_specialDeviceHistory.eq("organization_id",organizationId); + SpecialDeviceHistory specialDeviceHistory = specialDeviceHistoryMapper.selectOne(wrapper_specialDeviceHistory); + SpecialDeviceHistory insertSpecialDeviceHistory = new SpecialDeviceHistory(); + BeanUtils.copyProperties(specialDevice,insertSpecialDeviceHistory); + if (ObjectUtils.isEmpty(specialDeviceHistory)){ + specialDeviceHistoryMapper.insert(insertSpecialDeviceHistory); + }else { + /*UpdateWrapper<SpecialDeviceHistory> wrapper_insertSpecialDeviceHistory = new UpdateWrapper<>(); + wrapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE); + wrapper_specialDeviceHistory.eq("mac",mac); + wrapper_specialDeviceHistory.eq("organization_id",organizationId);*/ + specialDeviceHistoryMapper.update(insertSpecialDeviceHistory,wrapper_specialDeviceHistory); + } + return null; + } } -- Gitblit v1.8.0