|
@@ -0,0 +1,83 @@
|
|
|
+package com.huimv.eartag2.manage.service.impl;
|
|
|
+
|
|
|
+import com.huimv.eartag2.common.dao.entity.EartagDeviceRegisterEntity;
|
|
|
+import com.huimv.eartag2.common.dao.repo.EartagDeviceRegisterRepo;
|
|
|
+import com.huimv.eartag2.common.utils.BizConst;
|
|
|
+import com.huimv.eartag2.common.utils.DateUtil;
|
|
|
+import com.huimv.eartag2.common.utils.Result;
|
|
|
+import com.huimv.eartag2.common.utils.ResultCode;
|
|
|
+import com.huimv.eartag2.manage.service.ICacheService;
|
|
|
+import com.huimv.eartag2.manage.service.IDeviceRegisterService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.sql.Timestamp;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Project : huimv.shiwan
|
|
|
+ * @Package : com.huimv.biosafety.uface.controller
|
|
|
+ * @Description : TODO
|
|
|
+ * @Version : 1.0
|
|
|
+ * @Author : ZhuoNing
|
|
|
+ * @Create : 2020-12-25
|
|
|
+ **/
|
|
|
+@Service
|
|
|
+public class DeviceRegisterServiceImpl implements IDeviceRegisterService {
|
|
|
+ @Autowired
|
|
|
+ private EartagDeviceRegisterRepo deviceRegisterRepo;
|
|
|
+ @Autowired
|
|
|
+ private ICacheService cacheService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Result addDevice(String deviceCode, Integer deviceStatus, Integer activeStatus, String deviceAlias, String location, String remark, String farmId) throws ParseException {
|
|
|
+ DateUtil dateUtil = new DateUtil();
|
|
|
+ Date todayDate = dateUtil.getTodayDate();
|
|
|
+ Timestamp nowTimestamp = dateUtil.getTimestamp();
|
|
|
+
|
|
|
+ //判断是否存在相同的设备编码
|
|
|
+ if(isExistSameDevice(deviceCode)){
|
|
|
+ return new Result(BizConst.CODE_DEVICE_CODE_EXIST,BizConst.MSG_DEVICE_CODE_EXIST,false);
|
|
|
+ }
|
|
|
+ //
|
|
|
+ EartagDeviceRegisterEntity deviceRegisterEntity = new EartagDeviceRegisterEntity();
|
|
|
+ deviceRegisterEntity.setDeviceCode(deviceCode);
|
|
|
+ deviceRegisterEntity.setFarmId(farmId);
|
|
|
+ deviceRegisterEntity.setRegisterTime(nowTimestamp);
|
|
|
+ deviceRegisterEntity.setActiveStatus(activeStatus);
|
|
|
+ deviceRegisterEntity.setDeviceStatus(deviceStatus);
|
|
|
+ deviceRegisterEntity.setDeviceAlias(deviceAlias);
|
|
|
+ deviceRegisterEntity.setLocation(location);
|
|
|
+ deviceRegisterEntity.setRemark(remark);
|
|
|
+ deviceRegisterEntity.setCreateDate(new java.sql.Date(todayDate.getTime()));
|
|
|
+ deviceRegisterRepo.saveAndFlush(deviceRegisterEntity);
|
|
|
+ //加入缓存
|
|
|
+ cacheService.putAllDeviceSet(deviceCode);
|
|
|
+ return new Result(ResultCode.SUCCESS);
|
|
|
+ }
|
|
|
+
|
|
|
+ //
|
|
|
+ private Boolean isExistSameDevice(String deviceCode) {
|
|
|
+ int allDeviceSetSize = cacheService.isExistAllDeviceSet();
|
|
|
+ if(allDeviceSetSize == 0){
|
|
|
+ //{初始化集合}
|
|
|
+ initAllDeviceSet();
|
|
|
+ }
|
|
|
+ boolean isExist = cacheService.isExistDeviceCode(deviceCode);
|
|
|
+ return isExist;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initAllDeviceSet() {
|
|
|
+ List<Object[]> objectList = deviceRegisterRepo.getDeviceCodeFromDeviceRegister();
|
|
|
+ List list = new ArrayList();
|
|
|
+ for(int a=0;a<objectList.size();a++){
|
|
|
+ Object[] object = (Object[]) objectList.get(a);
|
|
|
+ list.add(object[0]);
|
|
|
+ }
|
|
|
+ System.out.println("list.toString()>>"+list.toString());
|
|
|
+ cacheService.putAllDeviceSet(list);
|
|
|
+ }
|
|
|
+}
|