From e16302f9d475c7cc4dd18c5abf1a23cb5502e362 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期三, 28 五月 2025 14:57:56 +0800 Subject: [PATCH] 密码验证加- --- src/main/java/com/whyc/service/Fbs9100StateService.java | 344 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 330 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/whyc/service/Fbs9100StateService.java b/src/main/java/com/whyc/service/Fbs9100StateService.java index f7067bc..452309c 100644 --- a/src/main/java/com/whyc/service/Fbs9100StateService.java +++ b/src/main/java/com/whyc/service/Fbs9100StateService.java @@ -6,11 +6,18 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.constant.DeviceConstant; +import com.whyc.constant.YamlProperties; +import com.whyc.dto.BattTestData; import com.whyc.dto.Response; +import com.whyc.dto.paramter.FbsStatePar; +import com.whyc.dto.result.DischargeState; +import com.whyc.mapper.BattInfMapper; +import com.whyc.mapper.BattRtstateMapper; import com.whyc.mapper.Fbs9100StateMapper; +import com.whyc.pojo.Battinf; import com.whyc.pojo.Fbs9100State; import com.whyc.util.ActionUtil; -import com.whyc.util.DateUtil; +import com.whyc.util.ThreadLocalUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -18,6 +25,7 @@ import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; @Service public class Fbs9100StateService { @@ -25,6 +33,18 @@ private Fbs9100StateMapper mapper; @Autowired private Fbs9100SetparamService service; + + @Autowired(required = false) + private BattInfMapper binfMapper; + + @Autowired(required = false) + private BattRtstateMapper rtstateMapper; + @Autowired(required = false) + + private Fbs9600StateService fbs9600StateService; + @Autowired(required = false) + + private Ld9StateService ld9StateService; //寮�鍏崇姸鎬� @Transactional @@ -35,9 +55,12 @@ Fbs9100State fbs9100State = mapper.selectOne(wrapper); if (fbs9100State != null) { fbs9100State.setNote(new SimpleDateFormat(ActionUtil.time_yyyyMMddHHmmss).format(new Date())); + if((devId / 100000 == 6183)||(devId / 100000 == 6184)){ + fbs9100State.setDevLastCaptestStopTypeReason(BattTestData.getStopType_6183_4(fbs9100State.getDevLastCaptestStopType())); + }else{ + fbs9100State.setDevLastCaptestStopTypeReason(BattTestData.getStopType_9612(fbs9100State.getDevLastCaptestStopType())); + } } - /*Random random = new Random(); - fbs9100State.setFbo4830IsOnline(random.nextInt(2));*/ return new Response().setII(1, fbs9100State == null ? false : true, fbs9100State, ""); } @@ -58,7 +81,7 @@ UpdateWrapper wrapper=new UpdateWrapper(); wrapper.set("dev_res_test_state",0); wrapper.eq("dev_id",devId); - int flag=mapper.update(null,wrapper); + int flag=mapper.update((Fbs9100State) ActionUtil.objeNull,wrapper); return new Response().set(1,flag>0?true:false); } //涓�浣撴満鐣岄潰寮瑰嚭妗嗙‘璁ゆ搷浣� @@ -72,7 +95,7 @@ dev_alarmstat=2; wrapper.set("dev_alarmstate",dev_alarmstat); wrapper.eq("dev_id",devId); - flag=mapper.update(null,wrapper); + flag=mapper.update((Fbs9100State) ActionUtil.objeNull,wrapper); if(flag>0){ boolean b=service.sendCmdToFBS9100Dev(35,0, devId); if(b){ @@ -90,7 +113,7 @@ dev_alarmstat=3; wrapper.set("dev_alarmstate",dev_alarmstat); wrapper.eq("dev_id",devId); - flag=mapper.update(null,wrapper); + flag=mapper.update((Fbs9100State) ActionUtil.objeNull,wrapper); if(flag>0){ bl=true; msg="淇敼鎴愬姛!"; @@ -121,6 +144,12 @@ return list; } + /** + * 杩欎釜鏄寜鐓ц澶噄d鏉ョ粺璁$殑,涓�鎷栦簩鐨勮澶囨湁涓や釜璁惧id,琚湅浣滀袱涓澶�,寮冪敤 + * @param userId + * @return + */ + @Deprecated public Response getBTSEquipStatus(int userId){ Response response = new Response(); @@ -156,10 +185,123 @@ response.setCode(0); return response; }*/ - QueryWrapper<Fbs9100State> wrapper = Wrappers.query(); + /*QueryWrapper<Fbs9100State> wrapper = Wrappers.query(); wrapper.select("record_datetime", "dev_workstate"); - List<Fbs9100State> fbs9100StateList = mapper.selectList(wrapper); + List<Fbs9100State> fbs9100StateList = mapper.selectList(wrapper);*/ + List<Fbs9100State> fbs9100StateList = mapper.getListWithoutZJDYBTSE2(userId, 1); //棣栧厛鏌ョ湅鏄惁閫氳鏁呴殰,鏃堕棿澶т簬1鍒嗛挓涓洪�氳鏁呴殰 + for (int i = 0; i < fbs9100StateList.size(); i++) { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.MINUTE, -1); + Date time = instance.getTime(); + //if (time.compareTo(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(fbs9100StateList.get(i).getRecordDatetime())) > 0) { + if (time.compareTo(ThreadLocalUtil.parse(fbs9100StateList.get(i).getRecordDatetime(),1)) > 0) { + resultMap.put("閫氳鏁呴殰鏁伴噺", resultMap.get("閫氳鏁呴殰鏁伴噺") + 1); + } else { + switch (fbs9100StateList.get(i).getDevWorkstate()) { + case DeviceConstant.DEV_ONLINE_CHARGE: + resultMap.put("鍦ㄧ嚎娴厖鏁伴噺", resultMap.get("鍦ㄧ嚎娴厖鏁伴噺") + 1); + break; + case DeviceConstant.DEV_PRE_CHARGE: + resultMap.put("棰勫厖鐢垫暟閲�", resultMap.get("棰勫厖鐢垫暟閲�") + 1); + break; + case DeviceConstant.DEV_NUCLEAR_CAP: + resultMap.put("鏍稿娴嬭瘯鏁伴噺", resultMap.get("鏍稿娴嬭瘯鏁伴噺") + 1); + break; + case DeviceConstant.DEV_RES_TEST: + resultMap.put("鍐呴樆娴嬭瘯鏁伴噺", resultMap.get("鍐呴樆娴嬭瘯鏁伴噺") + 1); + break; + } + } + } + + return response.setII(1, true, resultMap, ""); + } catch (Exception e) { + return response.set(1, false, "鍙戠敓寮傚父:" + e.getCause()); + } + } + + /** + * 杩欎釜鏄寜鐓ц澶噄p鏉ョ粺璁$殑. + * 閫氳鏁呴殰>鏍稿鏀剧數>鍏呯數>鍐呴樆>娴厖, + * 濡傛灉涓�鎷栦簩鐨勮澶�,鏈変袱涓笉鍚岀姸鎬�,瀹炵幇鐘舵�佷紭鍏堢骇瑕嗙洊 + * + * 璁惧鐨勬暟閲忕粺璁″拰璁惧鐘舵�佺殑缁熻,閫昏緫鏄笉鍚岀殑,鏁版嵁搴撶瓫閫夌殑鏃跺�欐潯浠堕�昏緫蹇呭畾鏄笉鍚岀殑: TODO + * 閫氬父鎯呭喌涓�,璁惧鏁伴噺缁熻,瑕佹帓闄ゆ帀涓�涓澶囦袱涓猧d鐨勪竴鎷栦簩鎯呭喌; + * 鑰岃澶囩姸鎬佺粺璁�,鍙渶瑕佸尯鍒嗕竴涓澶囩殑瀛楁,涓�涓澶囨湁澶氭潯璁板綍涔熸槸姝e父鍚堢悊鐨�,閫氳繃鐘舵�佷紭鍏堢骇瑕嗙洊鏉ュ畾涔夋暣涓澶囩殑鐘舵�� + * + * @param userId + * @param type 1-澶師鎺掗櫎钃勭數姹犺澶囦竴鎷栦簩鐨勭浜岀粍鐘舵�佺粺璁� + * @param type 2-缁熻鎵�鏈夎澶噄p鐨勭姸鎬� + * @return + */ + public Response getBTSEquipStatus2(int userId,int type){ + + Response response = new Response(); + try { + Map<String, Integer> resultMap = new HashMap<>(); + resultMap.put("鐩磋繛鍏呯數鏁伴噺", 0); + resultMap.put("棰勫厖鐢垫暟閲�", 0); + resultMap.put("鏍稿娴嬭瘯鏁伴噺", 0); + resultMap.put("鍐呴樆娴嬭瘯鏁伴噺", 0); + resultMap.put("閫氳鏁呴殰鏁伴噺", 0); + + List<Fbs9100State> fbs9100StateList = mapper.getListWithoutZJDYBTSE2(userId,type); + //涓婇潰鐨勫垎缁勫瓧娈� 鍙鑳藉尯鍒� 涓嶅悓鐨勮澶囧氨琛屼簡. 鍥犱负濡傛灉鏄竴鎷栦簩鐨勬儏鍐�,涔熷彲閫氳繃鍚庨潰鐨勭姸鎬佷紭鍏堢骇鏉ヨ鐩�,璁惧涓嶄細閲嶅 + //澶緵鍙互閫氳繃ip鏉ョ‘瀹氭槸鍝彴璁惧 + Map<String, List<Fbs9100State>> deviceMap = null; + if(YamlProperties.systemSubType == 3){ //鏅嬫簮 - 鍥犱负鎵�鏈夎澶囧叡鐢ㄤ竴涓猧p, 鎵�浠ラ渶瑕佸姞涓奷evId + deviceMap = fbs9100StateList.stream().collect(Collectors.groupingBy(state -> String.format("%s_%s",state.getDevIp(), state.getDevId()))); + }else{ //榛樿閫氱敤 + deviceMap = fbs9100StateList.stream().collect(Collectors.groupingBy(state -> String.valueOf(state.getDevIp()))); + } + //Map<String, List<Fbs9100State>> deviceMap = fbs9100StateList.stream().collect(Collectors.groupingBy(state -> + // String.format("%s_%s",state.getDevIp(), state.getDevId()))); + Set<String> deviceSet = deviceMap.keySet(); + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.MINUTE, -1); + Date time = instance.getTime(); + //杩欎釜閬嶅巻閲岄潰,鏄寜鐓roupingBy(瀛楁)鏉ヨ繘琛屽垎缁勭殑,鍙互瀛樺湪涓�涓澶囧涓褰�,鍗冲嚭鐜颁竴鎷栦簩鐨勬儏鍐�. 杩欎釜鏃跺�欐寜鐓т紭鍏堢骇杩涜瑕嗙洊鏉ュ畾涔夋暣涓澶囩殑鐘舵�� + //涓婇潰鐨勫垎缁勫瓧娈� 鍙鑳藉尯鍒� 涓嶅悓鐨勮澶囧氨琛屼簡. 鍥犱负濡傛灉鏄竴鎷栦簩鐨勬儏鍐�,涔熷彲閫氳繃鐘舵�佷紭鍏堢骇鏉ヨ鐩� + for (String deviceIp : deviceSet) { + List<Fbs9100State> fbs9100States = deviceMap.get(deviceIp); + //瀛樺湪6186璁惧,杩欎釜璁惧鐨勮澶囩姸鎬佸�奸噰鐢ㄧ殑鏄痙evAlarmState,鎵�浠ラ渶瑕佸崟鐙鐞� + List<Integer> workStateList; + if(fbs9100States.get(0).getDevId().toString().startsWith("6186")){ + workStateList = fbs9100States.stream().map(Fbs9100State::getDevAlarmstate).collect(Collectors.toList()); + }else { + workStateList = fbs9100States.stream().map(Fbs9100State::getDevWorkstate).collect(Collectors.toList()); + } + Map<Integer, List<Integer>> workStateMap = workStateList.stream().collect(Collectors.groupingBy(Integer::intValue)); + Set<Integer> workStateSet = workStateMap.keySet(); + boolean commError = false; + for (Fbs9100State state : fbs9100States) { + //if (time.compareTo(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(state.getRecordDatetime())) > 0) { + if (time.compareTo(ThreadLocalUtil.parse(state.getRecordDatetime(),1)) > 0) { + resultMap.put("閫氳鏁呴殰鏁伴噺", resultMap.get("閫氳鏁呴殰鏁伴噺") + 1); + commError = true; + break; + } + } + //涓嶅瓨鍦ㄩ�氳鏁呴殰,鍒欓渶瑕佸啀鍒ゆ柇浼樺厛绾ц鐩� + if(!commError){ + if(workStateSet.contains(DeviceConstant.DEV_NUCLEAR_CAP)) { + resultMap.put("鏍稿娴嬭瘯鏁伴噺", resultMap.get("鏍稿娴嬭瘯鏁伴噺") + 1); + } + else if(workStateSet.contains(DeviceConstant.DEV_PRE_CHARGE)) { + resultMap.put("棰勫厖鐢垫暟閲�", resultMap.get("棰勫厖鐢垫暟閲�") + 1); + } + else if(workStateSet.contains(DeviceConstant.DEV_RES_TEST)) { + resultMap.put("鍐呴樆娴嬭瘯鏁伴噺", resultMap.get("鍐呴樆娴嬭瘯鏁伴噺") + 1); + } + else if(workStateSet.contains(DeviceConstant.DEV_ONLINE_CHARGE)) { + resultMap.put("鐩磋繛鍏呯數鏁伴噺", resultMap.get("鐩磋繛鍏呯數鏁伴噺") + 1); + } + + } + + } + /*//棣栧厛鏌ョ湅鏄惁閫氳鏁呴殰,鏃堕棿澶т簬1鍒嗛挓涓洪�氳鏁呴殰 for (int i = 0; i < fbs9100StateList.size(); i++) { Calendar instance = Calendar.getInstance(); instance.add(Calendar.MINUTE, -1); @@ -175,23 +317,197 @@ resultMap.put("棰勫厖鐢垫暟閲�", resultMap.get("棰勫厖鐢垫暟閲�") + 1); break; case DeviceConstant.DEV_NUCLEAR_CAP: - resultMap.put("鏍稿鏁伴噺", resultMap.get("鏍稿娴嬭瘯鏁伴噺") + 1); + resultMap.put("鏍稿娴嬭瘯鏁伴噺", resultMap.get("鏍稿娴嬭瘯鏁伴噺") + 1); break; case DeviceConstant.DEV_RES_TEST: resultMap.put("鍐呴樆娴嬭瘯鏁伴噺", resultMap.get("鍐呴樆娴嬭瘯鏁伴噺") + 1); break; } } - } + }*/ - return response.setII(1, true, resultMap, null); + return response.setII(1, true, resultMap, ""); } catch (Exception e) { return response.set(1, false, "鍙戠敓寮傚父:" + e.getCause()); } } - //绠$悊鍛橀椤碉細绔欑偣鐘舵�佷俊鎭� - public Response getSateAnalysis(int userId) { - return new Response().set(1); + //灞辫タ鏅嬫簮鐗瑰畾鎺ュ彛 + public Response getBTSEquipStatus2JY(int type){ + + Response response = new Response(); + try { + Map<String, Integer> resultMap = new HashMap<>(); + resultMap.put("鐩磋繛鍏呯數鏁伴噺", 0); + resultMap.put("棰勫厖鐢垫暟閲�", 0); + resultMap.put("鏍稿娴嬭瘯鏁伴噺", 0); + resultMap.put("鍐呴樆娴嬭瘯鏁伴噺", 0); + resultMap.put("閫氳鏁呴殰鏁伴噺", 0); + + List<Fbs9100State> fbs9100StateList = mapper.getListWithoutZJDYBTSE2JY(type); + + //Map<String, List<Fbs9100State>> deviceMap = fbs9100StateList.stream().collect(Collectors.groupingBy(Fbs9100State::getDevIp)); + //JY鐨勮澶�,ip閮戒竴鏍�,鎵�浠ュ尯鍒嗕笉鍚岀殑璁惧,闇�瑕侀�氳繃ip+id + Map<String, List<Fbs9100State>> deviceMap = fbs9100StateList.stream().collect(Collectors.groupingBy(state ->String.format("%s_%s",state.getDevIp(), state.getDevId()))); + Set<String> deviceSet = deviceMap.keySet(); + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.MINUTE, -1); + Date time = instance.getTime(); + for (String deviceIp : deviceSet) { + List<Fbs9100State> fbs9100States = deviceMap.get(deviceIp); + //瀛樺湪6186璁惧,杩欎釜璁惧鐨勮澶囩姸鎬佸�奸噰鐢ㄧ殑鏄痙evAlarmState,鎵�浠ラ渶瑕佸崟鐙鐞� + List<Integer> workStateList; + if(fbs9100States.get(0).getDevId().toString().startsWith("6186")){ + workStateList = fbs9100States.stream().map(Fbs9100State::getDevAlarmstate).collect(Collectors.toList()); + }else { + workStateList = fbs9100States.stream().map(Fbs9100State::getDevWorkstate).collect(Collectors.toList()); + } + Map<Integer, List<Integer>> workStateMap = workStateList.stream().collect(Collectors.groupingBy(Integer::intValue)); + Set<Integer> workStateSet = workStateMap.keySet(); + boolean commError = false; + for (Fbs9100State state : fbs9100States) { + //if (time.compareTo(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(state.getRecordDatetime())) > 0) { + if (time.compareTo(ThreadLocalUtil.parse(state.getRecordDatetime(),1)) > 0) { + resultMap.put("閫氳鏁呴殰鏁伴噺", resultMap.get("閫氳鏁呴殰鏁伴噺") + 1); + commError = true; + break; + } + } + //涓嶅瓨鍦ㄩ�氳鏁呴殰,鍒欓渶瑕佸啀鍒ゆ柇浼樺厛绾ц鐩� + if(!commError){ + if(workStateSet.contains(DeviceConstant.DEV_NUCLEAR_CAP)) { + resultMap.put("鏍稿娴嬭瘯鏁伴噺", resultMap.get("鏍稿娴嬭瘯鏁伴噺") + 1); + } + else if(workStateSet.contains(DeviceConstant.DEV_PRE_CHARGE)) { + resultMap.put("棰勫厖鐢垫暟閲�", resultMap.get("棰勫厖鐢垫暟閲�") + 1); + } + else if(workStateSet.contains(DeviceConstant.DEV_RES_TEST)) { + resultMap.put("鍐呴樆娴嬭瘯鏁伴噺", resultMap.get("鍐呴樆娴嬭瘯鏁伴噺") + 1); + } + else if(workStateSet.contains(DeviceConstant.DEV_ONLINE_CHARGE)) { + resultMap.put("鐩磋繛鍏呯數鏁伴噺", resultMap.get("鐩磋繛鍏呯數鏁伴噺") + 1); + } + + } + + } + /*//棣栧厛鏌ョ湅鏄惁閫氳鏁呴殰,鏃堕棿澶т簬1鍒嗛挓涓洪�氳鏁呴殰 + for (int i = 0; i < fbs9100StateList.size(); i++) { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.MINUTE, -1); + Date time = instance.getTime(); + if (time.compareTo(DateUtil.YYYY_MM_DD_HH_MM_SS.parse(fbs9100StateList.get(i).getRecordDatetime())) > 0) { + resultMap.put("閫氳鏁呴殰鏁伴噺", resultMap.get("閫氳鏁呴殰鏁伴噺") + 1); + } else { + switch (fbs9100StateList.get(i).getDevWorkstate()) { + case DeviceConstant.DEV_ONLINE_CHARGE: + resultMap.put("鍦ㄧ嚎娴厖鏁伴噺", resultMap.get("鍦ㄧ嚎娴厖鏁伴噺") + 1); + break; + case DeviceConstant.DEV_PRE_CHARGE: + resultMap.put("棰勫厖鐢垫暟閲�", resultMap.get("棰勫厖鐢垫暟閲�") + 1); + break; + case DeviceConstant.DEV_NUCLEAR_CAP: + resultMap.put("鏍稿娴嬭瘯鏁伴噺", resultMap.get("鏍稿娴嬭瘯鏁伴噺") + 1); + break; + case DeviceConstant.DEV_RES_TEST: + resultMap.put("鍐呴樆娴嬭瘯鏁伴噺", resultMap.get("鍐呴樆娴嬭瘯鏁伴噺") + 1); + break; + } + } + }*/ + + return response.setII(1, true, resultMap, ""); + } catch (Exception e) { + return response.set(1, false, "鍙戠敓寮傚父:" + e.getCause()); + } + } + + + public List<Fbs9100State> getStateList(int userId) { + List<Fbs9100State> list = mapper.getStateList(userId); + return list; + } + + //棣栭〉涓婄偣鍑诲仠鐢电珯 + public List<Battinf> searchPowerOff(String uId) { + List<Battinf> list = mapper.searchPowerOff(uId); + return list; + } + + //棣栭〉涓婄偣鍑绘牳瀹规斁鐢电珯 + public List<Battinf> searchCheckCapDischarge(String uId) { + List<Battinf> list = mapper.searchCheckCapDischarge(uId); + return list; + } + + //浠婃棩鏀剧數绔欑偣缁熻 + public Response getChargeStaticToday(int userId) { + try { + Map<String, Object> map = new HashMap<>(); + List<DischargeState> list = mapper.getChargeStaticToday(userId); + Map<String, Object> stateMap = new HashMap<>(); + Map<String, Object> stateNumMap = new HashMap<>(); + stateNumMap.put("state2", 0); + stateNumMap.put("state3", 0); + stateMap.put("state2", new ArrayList<>()); + stateMap.put("state3", new ArrayList<>()); + Map<Integer, List<DischargeState>> stateDisMap = list.stream().collect(Collectors.groupingBy(DischargeState::getDevWorkstate)); + for (Integer workState : stateDisMap.keySet()) { + if (workState == 2 || workState == 3) { + stateNumMap.put("state" + workState, stateDisMap.get(workState).size()); + List<DischargeState> worklist = stateDisMap.get(workState); + stateMap.put("state" + workState, worklist); + } + } + map.put("stateNumMap", stateNumMap); + map.put("stateMap", stateMap); + //map.put("nowTime", ActionUtil.sdf.format(new Date())); + map.put("nowTime", ThreadLocalUtil.format(new Date(),1)); + return new Response().setII(1, true, map, "浠婃棩鏀剧數绔欑偣缁熻"); + } catch (Exception e) { + return new Response().set(1, false, "鍑虹幇寮傚父" + e.getMessage()); + } + } + + //瀹炴椂鍋滅數鏀剧數 + public int getJcAnalysis(int userId) { + int jcdisNum = mapper.getJcAnalysis(userId); + return jcdisNum; + } + + public Response getFbsState(FbsStatePar fbsStatePar) { + Map<String, Response> res=new HashMap<>(); + //鏌ヨfbs9100淇℃伅 + Response f9100stateRes = searchByCondition(fbsStatePar.getPageNum(),fbsStatePar.getPageSize(),fbsStatePar.getDevErrcommcount(),fbsStatePar.getUserId()); + res.put("f9100state",f9100stateRes); + + Response f9600StateRes = fbs9600StateService.searchByCondition(fbsStatePar.getPageNum(),fbsStatePar.getPageSize(),fbsStatePar.getDevErrcommcount(),fbsStatePar.getUserId()); + res.put("f9600state",f9600StateRes); + + Response ld9stateRes = ld9StateService.searchByCondition(fbsStatePar.getPageNum(),fbsStatePar.getPageSize(),fbsStatePar.getDevErrcommcount(),fbsStatePar.getUserId()); + res.put("ld9state",ld9stateRes); + return new Response().set(1, res); + } + + public void addOrUpdate(List<Fbs9100State> deviceStateList) { + List<Long> devIdList = deviceStateList.stream().map(Fbs9100State::getDevId).collect(Collectors.toList()); + QueryWrapper<Fbs9100State> query = Wrappers.query(); + query.in("dev_id",devIdList); + List<Fbs9100State> fbs9100StateListInDB = mapper.selectList(query); + List<Long> devIdListInDB = fbs9100StateListInDB.stream().map(Fbs9100State::getDevId).collect(Collectors.toList()); + + for (Fbs9100State fbs9100State : deviceStateList) { + if(devIdListInDB.contains(fbs9100State.getDevId())){ //鏇存柊 + UpdateWrapper<Fbs9100State> update = Wrappers.update(); + update.set("dev_workstate",fbs9100State.getDevWorkstate()) + .set("dev_last_captest_stop_type",fbs9100State.getDevLastCaptestStopType()) + .set("record_datetime",fbs9100State.getRecordDatetime()) + .eq("dev_id",fbs9100State.getDevId()); + mapper.update(null,update); + }else{ //鏂板 + mapper.insert(fbs9100State); + } + } + } } -- Gitblit v1.9.1