对比新文件 |
| | |
| | | package com.gk.firework.Scheduls.DL; |
| | | |
| | | |
| | | import com.gk.firework.Domain.Enterprise; |
| | | import com.gk.firework.Service.EnterpriseService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.scheduling.annotation.EnableScheduling; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Component |
| | | @EnableScheduling |
| | | public class DeviceIdRobot { |
| | | |
| | | private static final int deviceSize = 32; |
| | | @Value("${com.gk.firework.schedules.single.switch}") |
| | | private Boolean switchBtn; |
| | | @Autowired |
| | | private EnterpriseService enterpriseService; |
| | | |
| | | |
| | | |
| | | @Scheduled(cron = "0/3 * * * * ?") //每隔3秒执行一次 |
| | | public void deviceIdRobot(){ |
| | | if (!switchBtn) return; |
| | | List<Enterprise> result = enterpriseService.selectAllDlCompanyCodeIsNotNull(); |
| | | List<Enterprise> updates = null; |
| | | if (result.size() > 0) { |
| | | updates = new ArrayList<>(); |
| | | for (Enterprise e : result) { |
| | | String enterprisenumber = e.getEnterprisenumber(); |
| | | String dlcompanycode = e.getDlcompanycode(); |
| | | String strs = dlcompanycode + enterprisenumber; |
| | | int length = strs.length(); |
| | | if ( length < deviceSize) { |
| | | String deviceId = addZeroForNum(strs); |
| | | e.setDeviceid(deviceId); |
| | | }else{ |
| | | String deviceId = strs.substring(0, deviceSize); |
| | | e.setDeviceid(deviceId); |
| | | } |
| | | updates.add(e); |
| | | } |
| | | } |
| | | |
| | | if (updates != null && updates.size() > 0) { |
| | | enterpriseService.updateBatchById(updates); |
| | | } |
| | | } |
| | | |
| | | |
| | | private static String addZeroForNum(String str) { |
| | | int strLen = str.length(); |
| | | if (strLen < DeviceIdRobot.deviceSize) { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.append(str); |
| | | while (sb.toString().length() < DeviceIdRobot.deviceSize) { |
| | | sb.append("0"); |
| | | str = sb.toString(); |
| | | } |
| | | } |
| | | return str; |
| | | } |
| | | } |