From 3f3106be0457d60a0dbd13725edf1d3b7a2a8942 Mon Sep 17 00:00:00 2001 From: caojianbin <1910336823> Date: Thu, 12 Dec 2024 10:48:04 +0800 Subject: [PATCH] =?UTF-8?q?APP=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ecell-internationalize-app/pom.xml | 1 + .../app/EcellInternationalizeApp.java | 2 + .../app/aspect/AppUnbindLogInfo.java | 7 +- .../controller/DeviceOwnerInfoAppController.java | 3 + .../app/interceptor/AppTokenCheck.java | 2 +- .../internationalize/app/task/AppKafkaTask.java | 2 +- .../internationalize/app/util/LocationUtil.java | 95 ++++++----- .../app/mapper/VideoCallAppMapper.xml | 6 +- .../ecell-internationalize-auth/pom.xml | 38 +++++ .../auth/EcellAuthApplication.java | 6 +- .../common/system/constant/FieldConstant.java | 2 + .../system/feign/SysOperatorInfoFeignClient.java | 2 +- .../common/issue/entity/tcp/AddressComponent.java | 5 +- .../common/issue/entity/tcp/GPSInfo.java | 2 - .../common/issue/entity/tcp/GPSResult.java | 7 +- .../common/issue/entity/tcp/RegeoCode.java | 6 +- .../common/issue/mqtt/AppSingleMqttClient.java | 4 +- .../common/redis/service/RedisService.java | 1 + .../common/security/service/TokenService.java | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../system/security/EcellSecurityApplication.java | 2 +- .../security/config/MybatisPlusPageConfig.java | 13 ++ .../security/controller/SysRoleController.java | 105 +++++++----- .../security/controller/SysUserController.java | 4 + .../src/main/resources/i18n/messages.properties | 37 ++--- .../main/resources/i18n/messages_en_US.properties | 3 +- .../main/resources/i18n/messages_zh_CN.properties | 37 ++--- .../ecell-internationalize-system/pom.xml | 34 ++-- .../system/config/MybatisPlusPageConfig.java | 17 ++ .../controller/LocationLimitInfoController.java | 178 +++++++++++++++++++++ .../system/entity/LocationLimitInfo.java | 72 +++++++++ .../system/entity/dto/LocationLimitInfoPage.java | 26 +++ .../system/mapper/LocationLimitInfoMapper.java | 16 ++ .../system/service/LocationLimitInfoService.java | 16 ++ .../service/impl/ImeiLogInfoServiceImpl.java | 3 +- .../service/impl/LocationLimitInfoServiceImpl.java | 20 +++ .../system/mapper/LocationLimitInfoMapper.xml | 5 + .../src/main/resources/i18n/messages.properties | 108 +++++++------ .../main/resources/i18n/messages_en_US.properties | 2 + .../main/resources/i18n/messages_zh_CN.properties | 5 +- 40 files changed, 684 insertions(+), 214 deletions(-) create mode 100644 ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/config/MybatisPlusPageConfig.java create mode 100644 ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/config/MybatisPlusPageConfig.java create mode 100644 ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/LocationLimitInfoController.java create mode 100644 ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/LocationLimitInfo.java create mode 100644 ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/LocationLimitInfoPage.java create mode 100644 ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/LocationLimitInfoMapper.java create mode 100644 ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/LocationLimitInfoService.java create mode 100644 ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/LocationLimitInfoServiceImpl.java create mode 100644 ecell-internationalize/ecell-internationalize-system/src/main/resources/com/ecell/internationalize/system/mapper/LocationLimitInfoMapper.xml diff --git a/ecell-internationalize/ecell-internationalize-app/pom.xml b/ecell-internationalize/ecell-internationalize-app/pom.xml index 0d338c4..c396648 100644 --- a/ecell-internationalize/ecell-internationalize-app/pom.xml +++ b/ecell-internationalize/ecell-internationalize-app/pom.xml @@ -227,6 +227,7 @@ **/*.xml **/*.yml **/*.vm + **/*.lua **/*.properties false diff --git a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/EcellInternationalizeApp.java b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/EcellInternationalizeApp.java index 8309e62..d962064 100644 --- a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/EcellInternationalizeApp.java +++ b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/EcellInternationalizeApp.java @@ -1,5 +1,6 @@ package com.ecell.internationalize.app; +import com.ecell.internationalize.common.issue.mqtt.AppSingleMqttClient; import com.ecell.internationalize.common.swagger.annotation.EnableCustomSwagger2; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; @@ -23,5 +24,6 @@ public class EcellInternationalizeApp { public static void main(String[] args) { SpringApplication.run(EcellInternationalizeApp.class, args); System.out.println("易赛国际化app服务系统启动成功"); + AppSingleMqttClient.getAppSingleMqttClient(); } } diff --git a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/aspect/AppUnbindLogInfo.java b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/aspect/AppUnbindLogInfo.java index b9faa92..209232e 100644 --- a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/aspect/AppUnbindLogInfo.java +++ b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/aspect/AppUnbindLogInfo.java @@ -83,8 +83,11 @@ public class AppUnbindLogInfo { String id = dto.getUserId() == null ? SecurityContextHolder.getStringUserId() : dto.getUserId(); info.setUserId(id); UserDeviceBindApp bingDeviceInfo = bindingDeviceImpl.getBingDeviceInfo(id); - info.setAccount(bingDeviceInfo.getUserEmail()); - info.setRelation(bingDeviceInfo.getRelation()); + if (bingDeviceInfo!=null){ + info.setAccount(bingDeviceInfo.getUserEmail()); + info.setRelation(bingDeviceInfo.getRelation()); + } + }catch (Exception e){ logg.info("解绑日志参数异常:{}", e.getMessage()); diff --git a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/DeviceOwnerInfoAppController.java b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/DeviceOwnerInfoAppController.java index e66e822..421791c 100644 --- a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/DeviceOwnerInfoAppController.java +++ b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/DeviceOwnerInfoAppController.java @@ -85,6 +85,8 @@ public class DeviceOwnerInfoAppController { LambdaQueryWrapper infoLambdaQueryWrapper=new LambdaQueryWrapper<>(); infoLambdaQueryWrapper.eq(DeviceInfo::getImei,userDeviceBindDto.getImei()); infoLambdaQueryWrapper.eq(DeviceInfo::getDelFlag,"1"); + infoLambdaQueryWrapper.eq(DeviceInfo::getAuditStatus,"2"); + DeviceInfo deviceInfo=deviceInfoService.getBaseMapper().selectOne(infoLambdaQueryWrapper); String id=null==deviceInfo?"":deviceInfo.getDeviceModelId(); //4.根据设备型号获取对应的功能项 @@ -126,6 +128,7 @@ public class DeviceOwnerInfoAppController { LambdaQueryWrapper infoLambdaQueryWrapper=new LambdaQueryWrapper<>(); infoLambdaQueryWrapper.eq(DeviceInfo::getImei,imei); infoLambdaQueryWrapper.eq(DeviceInfo::getDelFlag,"1"); + infoLambdaQueryWrapper.eq(DeviceInfo::getAuditStatus,"2"); DeviceInfo deviceInfo=deviceInfoService.getBaseMapper().selectOne(infoLambdaQueryWrapper); //查询到的设备型号为空 if (null==deviceInfo){ diff --git a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/interceptor/AppTokenCheck.java b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/interceptor/AppTokenCheck.java index 4b9727f..276a43f 100644 --- a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/interceptor/AppTokenCheck.java +++ b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/interceptor/AppTokenCheck.java @@ -19,7 +19,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Component -public class AppTokenCheck implements AsyncHandlerInterceptor { +public class AppTokenCheck implements AsyncHandlerInterceptor { private static final Logger log = LoggerFactory.getLogger(AppTokenCheck.class); private final String TOKE_KEY="Authorization"; private final String ACCEPT_LANGUAGE="Accept-Language"; diff --git a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/task/AppKafkaTask.java b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/task/AppKafkaTask.java index 6e10fdc..df23042 100644 --- a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/task/AppKafkaTask.java +++ b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/task/AppKafkaTask.java @@ -65,7 +65,7 @@ import java.util.stream.Collectors; public class AppKafkaTask implements Callable { private static final Logger log = LoggerFactory.getLogger(AppKafkaTask.class); private static final double DISTANCE = 150.0; - private Object object; + private Object object; private static final Object SYS_OBJECT = new Object(); private static final Object LK_SYS_OBJECT = new Object(); private static final ReentrantLock LOCK = new ReentrantLock(); diff --git a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/util/LocationUtil.java b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/util/LocationUtil.java index 3023d47..5aebb34 100644 --- a/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/util/LocationUtil.java +++ b/ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/util/LocationUtil.java @@ -76,6 +76,7 @@ public class LocationUtil { * @return */ public static DeviceLocationApp getLocation(PositionInfo positionInfoap) { + log.info("开始后位置解析======="); PositionResult positionResult = null; DeviceLocationApp app = null; GPSResult gpsResult = null; @@ -83,6 +84,7 @@ public class LocationUtil { int errCount = 0; int gpsErrCount = 0; if (StringUtils.isNull(positionInfoap.getGps())) { + log.info("WiFi 基站解析======="); StringBuffer bts_buffer = new StringBuffer(); StringBuffer nearbts_buffer = new StringBuffer(); String bts = ""; @@ -227,6 +229,7 @@ public class LocationUtil { } log.info("LBS WIFI 请求第三方接口数据:{}", positionResult); } else { //GPS定位 + log.info("GPS解析======="); GPSInfo gps = positionInfoap.getGps(); locationType = "GPS"; //TODO 这里先注释 以后可以优化 @@ -250,8 +253,9 @@ public class LocationUtil { // log.info("GPS 请求第三方接口结果集数据:{}", gpsResult); //从这里如果GPS接口请求失败,那就只存坐标 gpsResult = getGps(gps.getLon(), gps.getLat()); - if (StringUtils.isNotNull(gpsResult)){ - return addGPSDataApp(gps.getLon().toString(), gps.getLat().toString(), locationType,positionInfoap.getImei()); + log.info("获取到啊的gpsResult{}", gpsResult); + if (StringUtils.isNotNull(gpsResult)) { + return addGPSDataApp(gps.getLon().toString(), gps.getLat().toString(), locationType, positionInfoap.getImei()); } } @@ -261,7 +265,7 @@ public class LocationUtil { app = addLBSData(positionInfoap, positionResult, locationType); } - if (StringUtils.isNotNull(gpsResult) && StringUtils.isNotNull(gpsResult.getAddressComponent()) && StringUtils.isNotNull(gpsResult.getAddressComponent().getStreetNumber())) { + if (StringUtils.isNotNull(gpsResult) && StringUtils.isNotNull(gpsResult.getRegeoCode().getAddressComponent()) && StringUtils.isNotNull(gpsResult.getRegeoCode().getAddressComponent().getStreetNumber())) { app = addGPSData(positionInfoap, gpsResult, locationType); } @@ -292,7 +296,7 @@ public class LocationUtil { List wifis = positionInfoap.getWifi(); if (null != baseStations && baseStations.size() > 0) { List cellTowerInfoList = new ArrayList<>(); - List wifiAccessPointsList =new ArrayList<>(); + List wifiAccessPointsList = new ArrayList<>(); GoogleBaseStationInfo info = new GoogleBaseStationInfo(); info.setConsiderIp(false); if ("0".equals(positionInfoap.getBaseStationType())) {//是否 CDMA(0:否, 1:是) @@ -323,10 +327,10 @@ public class LocationUtil { } - if (StringUtils.isNotEmpty(wifis) && wifis.size()>=2){ + if (StringUtils.isNotEmpty(wifis) && wifis.size() >= 2) { for (WIFI wifi : wifis) { - WifiAccessPoints wifiAccessPoints =new WifiAccessPoints(); + WifiAccessPoints wifiAccessPoints = new WifiAccessPoints(); wifiAccessPoints.setMacAddress(wifi.getMac()); wifiAccessPoints.setSignalStrength(wifi.getSignal()); wifiAccessPointsList.add(wifiAccessPoints); @@ -341,7 +345,7 @@ public class LocationUtil { //请求Google接口 Map lbsWifi = getLBSWifi(info); - if (StringUtils.isNotNull(lbsWifi)){ + if (StringUtils.isNotNull(lbsWifi)) { app = newAddLBSData(positionInfoap, lbsWifi, locationType); @@ -353,19 +357,17 @@ public class LocationUtil { } else {//GPS GPSInfo gps = positionInfoap.getGps(); locationType = "GPS"; - Map map=new HashMap<>(); + Map map = new HashMap<>(); try { map = getGpsGoogle(gps.getLon(), gps.getLat()); log.info("GPS 请求谷歌接口结果集数据:{}", map); - }catch (Exception e){ + } catch (Exception e) { log.info("GPS 请求谷歌接口出错:{}", e); - return nweAddGPSDataTwo(locationType, gps.getLon(), gps.getLat()); + return nweAddGPSDataTwo(locationType, gps.getLon(), gps.getLat()); } - - app = nweAddGPSData(positionInfoap, map, locationType, gps.getLon(), gps.getLat()); @@ -389,7 +391,7 @@ public class LocationUtil { */ private static DeviceLocationApp addGPSData(PositionInfo positionInfoap, GPSResult gpsResult, String locationType) { String lon = null, lat = null; //经度,纬度 - AddressComponent addressComponent = gpsResult.getAddressComponent(); + AddressComponent addressComponent = gpsResult.getRegeoCode().getAddressComponent(); if (StringUtils.isNotEmpty(addressComponent.getStreetNumber().getLocation())) { String location = addressComponent.getStreetNumber().getLocation(); String[] split = location.split(","); @@ -418,7 +420,7 @@ public class LocationUtil { * * @param locationType */ - private static DeviceLocationApp addGPSDataApp(String lon,String lat,String locationType,String imei) { + private static DeviceLocationApp addGPSDataApp(String lon, String lat, String locationType, String imei) { DeviceLocationApp app = new DeviceLocationApp(); app.setId(com.ecell.internationalize.common.core.utils.uuid.UUID.fastUUID().toString(true)); @@ -444,7 +446,7 @@ public class LocationUtil { app.setId(com.ecell.internationalize.common.core.utils.uuid.UUID.fastUUID().toString(true)); app.setLocationType(locationType); //定位类型 app.setAdcode(map.get("postalCode")); //邮政编码 - app.setAddr(map.get("addr").trim().replace(" ","")); //详细地址 + app.setAddr(map.get("addr").trim().replace(" ", "")); //详细地址 //app.setRadius();GPS没有返回 app.setLongitude(lon.toString()); //经度 app.setLatitude(lat.toString()); //纬度 @@ -455,7 +457,7 @@ public class LocationUtil { return app; } - private static DeviceLocationApp nweAddGPSDataTwo( String locationType, Float lon, Float lat) { + private static DeviceLocationApp nweAddGPSDataTwo(String locationType, Float lon, Float lat) { DeviceLocationApp app = new DeviceLocationApp(); app.setId(com.ecell.internationalize.common.core.utils.uuid.UUID.fastUUID().toString(true)); app.setLocationType(locationType); //定位类型 @@ -465,12 +467,6 @@ public class LocationUtil { } - - - - - - /** * //LBS WIFF 添加数据库 * @@ -506,13 +502,13 @@ public class LocationUtil { } - private static DeviceLocationApp newAddLBSData(PositionInfo positionInfoap, Map map, String locationType) { + private static DeviceLocationApp newAddLBSData(PositionInfo positionInfoap, Map map, String locationType) { DeviceLocationApp app = new DeviceLocationApp(); app.setId(com.ecell.internationalize.common.core.utils.uuid.UUID.fastUUID().toString(true)); app.setLocationType(locationType); //定位类型 app.setAdcode(map.get("postalCode")); //邮政编码 - app.setAddr(map.get("addr").trim().replace(" ","")); //详细地址 + app.setAddr(map.get("addr").trim().replace(" ", "")); //详细地址 app.setRadius(map.get("radius")); app.setLongitude(map.get("lng")); //经度 app.setLatitude(map.get("lat")); //纬度 @@ -524,9 +520,6 @@ public class LocationUtil { } - - - private static int getSignal(int rxlev) { // 必须为负数 if (rxlev > 113) { @@ -546,16 +539,24 @@ public class LocationUtil { * @return */ public static GPSResult getGps(Float lon, Float lat) { + log.info("GPS解析获取到的经纬度是lon:{},lat:{}", lon, lat); StringBuffer buffer = new StringBuffer(); String s = buffer.append("key=").append(GPS_Key).append("&location=").append(lon).append(",").append(lat).toString(); String format = String.format(gpsUrl + "%s%s", "?", s); - GPSResult forObject = restTemplate.getForObject(format, GPSResult.class); - if ("10000".equals(forObject.getInfocode()) && "1".equals(forObject.getStatus())) { - return forObject; - } else { - log.info("GPS 请求第三方接返回数据:{}", forObject); - // throw new ServiceException("GPS 请求第三方接口失败,请重试"); - return null; + log.info("GPS请求第三方接口地址:{}", format); + try { + GPSResult forObject = restTemplate.getForObject(format, GPSResult.class); + if ("10000".equals(forObject.getInfocode()) && "1".equals(forObject.getStatus())) { + return forObject; + } else { + log.info("GPS 请求第三方接返回数据:{}", forObject); + // throw new ServiceException("GPS 请求第三方接口失败,请重试"); + return null; + } + } catch (Exception e) { + log.error("GPS请求第三方接口异常:{}", e); + return null; + } @@ -659,47 +660,43 @@ public class LocationUtil { /** * 基站 wifi 请求google API + * * @param baseStationInfo * @return */ - private static Map getLBSWifi(GoogleBaseStationInfo baseStationInfo){ + private static Map getLBSWifi(GoogleBaseStationInfo baseStationInfo) { try { String uri = "https://www.googleapis.com/geolocation/v1/geolocate?key=AIzaSyBhelN5j0OM_AUgtUxVeuW2eeh5HbuRQ9s".trim(); JSONObject jsonObject = restTemplate.postForObject(uri, baseStationInfo, JSONObject.class); - log.info("基站信息请求API响应结果为:"+jsonObject); + log.info("基站信息请求API响应结果为:" + jsonObject); - if (StringUtils.isNotNull(jsonObject)){ + if (StringUtils.isNotNull(jsonObject)) { JSONObject jsonObject1 = JSONObject.parseObject(jsonObject.toString()); Integer accuracy = jsonObject1.getInteger("accuracy"); Object o = jsonObject1.get("location"); - if (StringUtils.isNotNull(o)){ + if (StringUtils.isNotNull(o)) { GoogleBaseStationResult baseStationResult = JSONObject.parseObject(o.toString(), GoogleBaseStationResult.class); Map gpsGoogle = getGpsGoogle(baseStationResult.getLng(), baseStationResult.getLat()); - gpsGoogle.put("lng",baseStationResult.getLng().toString()); - gpsGoogle.put("lat",baseStationResult.getLat().toString()); - gpsGoogle.put("radius",accuracy.toString()); - return gpsGoogle; + gpsGoogle.put("lng", baseStationResult.getLng().toString()); + gpsGoogle.put("lat", baseStationResult.getLat().toString()); + gpsGoogle.put("radius", accuracy.toString()); + return gpsGoogle; } } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); throw new ServiceException("基站wifi请求谷歌出错"); } - - return null; } - - - private static PositionResult getLocationResult(String s) { PositionResult forObject = restTemplate.getForObject(s, PositionResult.class); if ("10000".equals(forObject.getInfocode()) && "1".equals(forObject.getStatus())) { @@ -900,7 +897,7 @@ public class LocationUtil { app = addLBSData(positionInfoap, positionResult, locationType); } - if (StringUtils.isNotNull(gpsResult) && StringUtils.isNotNull(gpsResult.getAddressComponent()) && StringUtils.isNotNull(gpsResult.getAddressComponent().getStreetNumber())) { + if (StringUtils.isNotNull(gpsResult) && StringUtils.isNotNull(gpsResult.getRegeoCode().getAddressComponent()) && StringUtils.isNotNull(gpsResult.getRegeoCode().getAddressComponent().getStreetNumber())) { app = addGPSData(positionInfoap, gpsResult, locationType); } diff --git a/ecell-internationalize/ecell-internationalize-app/src/main/resources/com/ecell/internationalize/app/mapper/VideoCallAppMapper.xml b/ecell-internationalize/ecell-internationalize-app/src/main/resources/com/ecell/internationalize/app/mapper/VideoCallAppMapper.xml index f50a791..db7e310 100644 --- a/ecell-internationalize/ecell-internationalize-app/src/main/resources/com/ecell/internationalize/app/mapper/VideoCallAppMapper.xml +++ b/ecell-internationalize/ecell-internationalize-app/src/main/resources/com/ecell/internationalize/app/mapper/VideoCallAppMapper.xml @@ -8,7 +8,7 @@ select m.video_model_id from device_model_info m where del_flag = '1' and device_model_id =( - select device_model_id from device_info where imei =#{imei} and del_flag = '1')) + select device_model_id from device_info where imei =#{imei} and del_flag = '1'and audit_status='2')) @@ -22,7 +22,7 @@ diff --git a/ecell-internationalize/ecell-internationalize-auth/pom.xml b/ecell-internationalize/ecell-internationalize-auth/pom.xml index a472697..a44ae4c 100644 --- a/ecell-internationalize/ecell-internationalize-auth/pom.xml +++ b/ecell-internationalize/ecell-internationalize-auth/pom.xml @@ -76,4 +76,42 @@ + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + 2.6.8 + + + + repackage + + + + + + + + src/main/java + + **/*.xml + + true + + + src/main/resources + + **/*.xml + **/*.yml + **/*.vm + **/*.properties + + false + + + + + \ No newline at end of file diff --git a/ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/EcellAuthApplication.java b/ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/EcellAuthApplication.java index c60d1a4..6410273 100644 --- a/ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/EcellAuthApplication.java +++ b/ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/EcellAuthApplication.java @@ -12,14 +12,12 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @EnableFeignClients @EnableCustomSwagger2 -@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) +@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class },scanBasePackages = {"com.ecell.internationalize"}) public class EcellAuthApplication { public static void main(String[] args) { SpringApplication.run(EcellAuthApplication.class, args); - - - System.out.println("获取到的加密密码是"+ SecurityUtils.encryptPassword("123456")); +// System.out.println("获取到的加密密码是"+ SecurityUtils.encryptPassword("123456")); System.out.println("(♥◠‿◠)ノ゙ 易赛国际化认证授权中心启动成功 ლ(´ڡ`ლ)゙ \n"); } } diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/FieldConstant.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/FieldConstant.java index 53c96f2..78b8927 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/FieldConstant.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/FieldConstant.java @@ -13,6 +13,8 @@ public class FieldConstant { public static final String MESSAGES_SUCCESS="messages.success"; /**失败返回结果 */ public static final String MESSAGES_ERROR="messages.error"; + public static final String LOCAL_LIMIT_MESSAGES_ERROR="localLimit.messages.error"; + public static final String LOCATIONINFO_MESSAGES_ERROR="locationInfo.messages.error"; /**请求头lang,国家语言标识 */ public static final String LANG="lang"; /**创建时间 */ diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java index 388e835..01a06ba 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/feign/SysOperatorInfoFeignClient.java @@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestBody; /** * @author borui */ -@FeignClient(value = "yisai-system-security",fallback = SysOperatorInfoFeignClientFallBack.class) +@FeignClient(value = "ecell-internationalize-security",fallback = SysOperatorInfoFeignClientFallBack.class) public interface SysOperatorInfoFeignClient { /** * 新增操作日志信息 diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/AddressComponent.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/AddressComponent.java index c2be5e7..be5168b 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/AddressComponent.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/AddressComponent.java @@ -2,8 +2,11 @@ package com.ecell.internationalize.common.issue.entity.tcp; import lombok.Data; +import java.io.Serializable; + @Data -public class AddressComponent { +public class AddressComponent implements Serializable { + private static final long serialVersionUID=1L; private String city; //市 private String province; //省 private String adcode; diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/GPSInfo.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/GPSInfo.java index 193d837..93ea7c3 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/GPSInfo.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/GPSInfo.java @@ -13,6 +13,4 @@ public class GPSInfo { private Integer satelliteNum; //表明 GPS 卫星个数 private Float precision;//定位的精确度 - - } diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/GPSResult.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/GPSResult.java index e2d2f0d..5b42e0c 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/GPSResult.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/GPSResult.java @@ -2,15 +2,18 @@ package com.ecell.internationalize.common.issue.entity.tcp; import lombok.Data; +import java.io.Serializable; + /** * GPS返回结果集 */ @Data -public class GPSResult { +public class GPSResult implements Serializable { + private static final long serialVersionUID=1L; private String infocode; private String info; private String status; - private AddressComponent addressComponent; + // private AddressComponent addressComponent; private RegeoCode regeoCode; } diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/RegeoCode.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/RegeoCode.java index 8fd881c..bbb9b58 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/RegeoCode.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/entity/tcp/RegeoCode.java @@ -2,8 +2,12 @@ package com.ecell.internationalize.common.issue.entity.tcp; import lombok.Data; +import java.io.Serializable; + @Data -public class RegeoCode { +public class RegeoCode implements Serializable { + private static final long serialVersionUID=1L; private String formattedAddress; + private AddressComponent addressComponent; } diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/mqtt/AppSingleMqttClient.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/mqtt/AppSingleMqttClient.java index 48d454e..650b3c2 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/mqtt/AppSingleMqttClient.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/mqtt/AppSingleMqttClient.java @@ -28,8 +28,8 @@ public class AppSingleMqttClient { //String clientId ="yisai@@@777"; if (null != clientId) { try { - //tcp://120.77.209.176:1883 - mqttClient = new MqttClient("tcp://1.13.186.145:1883", clientId, memoryPersistence); + //tcp://120.77.209.176:1883 //1.13.186.145 + mqttClient = new MqttClient("tcp://8.217.217.70:1883", clientId, memoryPersistence); } catch (MqttException e) { logger.info("创建链接失败:{}",e.getMessage()); e.printStackTrace(); diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-redis/src/main/java/com/ecell/internationalize/common/redis/service/RedisService.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-redis/src/main/java/com/ecell/internationalize/common/redis/service/RedisService.java index bb31e05..4518f93 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-redis/src/main/java/com/ecell/internationalize/common/redis/service/RedisService.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-redis/src/main/java/com/ecell/internationalize/common/redis/service/RedisService.java @@ -22,6 +22,7 @@ public class RedisService { @Autowired public RedisTemplate redisTemplate; + /** * 缓存基本的对象,Integer、String、实体类等 * diff --git a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/service/TokenService.java b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/service/TokenService.java index 588842e..6cda783 100644 --- a/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/service/TokenService.java +++ b/ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/service/TokenService.java @@ -172,7 +172,7 @@ public class TokenService { String userkey = JwtUtils.getUserKey(token); System.out.println("获取到的userkey是"+userkey); Object cacheObject = redisService.getCacheObject(getTokenKey(userkey)); - System.out.println("转化后的cacheObject"+cacheObject); + // System.out.println("转化后的cacheObject"+cacheObject); if (StringUtils.isNotNull(cacheObject)){ user= JSON.parseObject(JSON.toJSONString(cacheObject),UserLogin.class); } diff --git a/ecell-internationalize/ecell-internationalize-gateway/src/main/resources/bootstrap.yml b/ecell-internationalize/ecell-internationalize-gateway/src/main/resources/bootstrap.yml index 3861405..5487315 100644 --- a/ecell-internationalize/ecell-internationalize-gateway/src/main/resources/bootstrap.yml +++ b/ecell-internationalize/ecell-internationalize-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 9997 + port: 8087 # Spring spring: diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/EcellSecurityApplication.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/EcellSecurityApplication.java index 0abcec6..ea00e91 100644 --- a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/EcellSecurityApplication.java +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/EcellSecurityApplication.java @@ -14,7 +14,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @EnableCustomSwagger2 @EnableRyFeignClients @MapperScan("com.ecell.internationalize.**.mapper") -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"com.ecell.internationalize"}) public class EcellSecurityApplication { public static void main(String[] args) { SpringApplication.run(EcellSecurityApplication.class, args); diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/config/MybatisPlusPageConfig.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/config/MybatisPlusPageConfig.java new file mode 100644 index 0000000..3eb27f5 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/config/MybatisPlusPageConfig.java @@ -0,0 +1,13 @@ +package com.ecell.internationalize.system.security.config; + +import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MybatisPlusPageConfig { + @Bean + public PaginationInterceptor paginationInterceptor() { + return new PaginationInterceptor(); + } +} diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleController.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleController.java index c5525f4..5642975 100644 --- a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleController.java +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysRoleController.java @@ -3,13 +3,16 @@ package com.ecell.internationalize.system.security.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ecell.internationalize.common.core.utils.StringUtils; import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; import com.ecell.internationalize.common.core.web.domain.AjaxResult; import com.ecell.internationalize.common.security.utils.SecurityUtils; import com.ecell.internationalize.common.system.annotation.SystemLog; import com.ecell.internationalize.common.system.constant.FieldConstant; import com.ecell.internationalize.common.system.entity.SysRole; +import com.ecell.internationalize.common.system.entity.SysUserRole; import com.ecell.internationalize.system.security.service.SysRoleService; +import com.ecell.internationalize.system.security.service.SysUserRoleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -17,125 +20,147 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Date; +import java.util.List; import java.util.Map; /** * @author borui */ -@Api(value="角色管理",tags={"角色管理接口"}) +@Api(value = "角色管理", tags = {"角色管理接口"}) @RestController @RequestMapping("/sys_user") public class SysRoleController { @Autowired private SysRoleService roleService; + + @Autowired + private SysUserRoleService sysUserRoleService; + /** * 角色管理条件分页查询 + * + * @param map 分页条件查询体 * @Author liy * @Date 2022/7/21 10:38 - * @param map 分页条件查询体 * @Return AjaxResult */ @ApiOperation("条件分页查询角色信息") @PostMapping("role/pageList") - public AjaxResult queryAllByPage(@RequestBody Map map){ - Page page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString())); - LambdaQueryWrapper sysRoleLambdaQueryWrapper=new LambdaQueryWrapper<>(); - if (map.containsKey(FieldConstant.ROLE_NAME)&&null!=map.get(FieldConstant.ROLE_NAME).toString()){ - sysRoleLambdaQueryWrapper.eq(SysRole::getRoleName,map.get(FieldConstant.ROLE_NAME).toString()); + public AjaxResult queryAllByPage(@RequestBody Map map) { + Page page = new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()), Integer.parseInt(map.get(FieldConstant.SIZE).toString())); + LambdaQueryWrapper sysRoleLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (map.containsKey(FieldConstant.ROLE_NAME) && null != map.get(FieldConstant.ROLE_NAME).toString()) { + sysRoleLambdaQueryWrapper.eq(SysRole::getRoleName, map.get(FieldConstant.ROLE_NAME).toString()); } - if (map.containsKey(FieldConstant.ACCOUNT_STATUS)&&null!=map.get(FieldConstant.ACCOUNT_STATUS).toString()){ - sysRoleLambdaQueryWrapper.eq(SysRole::getStatus,map.get(FieldConstant.ACCOUNT_STATUS).toString()); + if (map.containsKey(FieldConstant.ACCOUNT_STATUS) && null != map.get(FieldConstant.ACCOUNT_STATUS).toString()) { + sysRoleLambdaQueryWrapper.eq(SysRole::getStatus, map.get(FieldConstant.ACCOUNT_STATUS).toString()); } - sysRoleLambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG); + sysRoleLambdaQueryWrapper.eq(SysRole::getDelFlag, FieldConstant.DEL_FLAG); sysRoleLambdaQueryWrapper.orderByDesc(SysRole::getCreateTime); - return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.getBaseMapper().selectPage(page,sysRoleLambdaQueryWrapper)); + return AjaxResult.success(LocaleUtil.getMessage("messages.success"), roleService.getBaseMapper().selectPage(page, sysRoleLambdaQueryWrapper)); } + /** * 新增角色信息 + * + * @param sysRole 用户 * @Author liy * @Date 2022/7/21 11:38 - * @param sysRole 用户 * @Return AjaxResult */ @ApiOperation("新增角色信息") - @SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.SAVE_OPERATOR) + @SystemLog(msg = FieldConstant.ROLE_MANAGE, operation = FieldConstant.SAVE_OPERATOR) @PostMapping("role/save") - public AjaxResult save(@RequestBody @ApiParam(name="角色",value = "角色实体",required=true) SysRole sysRole){ + public AjaxResult save(@RequestBody @ApiParam(name = "角色", value = "角色实体", required = true) SysRole sysRole) { int count = roleService.count(new QueryWrapper() - .eq(FieldConstant.ROLE_NAME,sysRole.getRoleName()) - .eq(FieldConstant.USER_DEL_FLAG,FieldConstant.DEL_FLAG) + .eq(FieldConstant.ROLE_NAME, sysRole.getRoleName()) + .eq(FieldConstant.USER_DEL_FLAG, FieldConstant.DEL_FLAG) ); - if (count>0){ + if (count > 0) { //角色已存在 return AjaxResult.error(LocaleUtil.getMessage("messages.role.exit")); } sysRole.setCreateUser(SecurityUtils.getUsername()); - return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.saveRole(sysRole)); + return AjaxResult.success(LocaleUtil.getMessage("messages.success"), roleService.saveRole(sysRole)); } + /** * 修改角色信息 + * + * @param sysRole 用户 * @Author liy * @Date 2022/7/21 16:38 - * @param sysRole 用户 * @Return AjaxResult */ @ApiOperation("修改角色信息") - @SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.UPDATE_OPERATOR) + @SystemLog(msg = FieldConstant.ROLE_MANAGE, operation = FieldConstant.UPDATE_OPERATOR) @PostMapping("role/update") - public AjaxResult update(@RequestBody @ApiParam(name="角色", value = "角色实体",required=true) SysRole sysRole){ + public AjaxResult update(@RequestBody @ApiParam(name = "角色", value = "角色实体", required = true) SysRole sysRole) { //admin用户禁止修改操作 - if(FieldConstant.ADMIN.equals(sysRole.getRoleId())){ + if (FieldConstant.ADMIN.equals(sysRole.getRoleId())) { return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete")); } - LambdaQueryWrapper lambdaQueryWrapper=new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(SysRole::getRoleName,sysRole.getRoleName()); - lambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysRole::getRoleName, sysRole.getRoleName()); + lambdaQueryWrapper.eq(SysRole::getDelFlag, FieldConstant.DEL_FLAG); SysRole role = roleService.getBaseMapper().selectOne(lambdaQueryWrapper); //修改名称相同 - if (null!=role&&!role.getRoleId().equals(sysRole.getRoleId())){ + if (null != role && !role.getRoleId().equals(sysRole.getRoleId())) { //角色已存在 return AjaxResult.error(LocaleUtil.getMessage("messages.role.exit")); } sysRole.setUpdateTime(new Date()); sysRole.setUpdateUser(SecurityUtils.getUsername()); - return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.updateRole(sysRole)); + return AjaxResult.success(LocaleUtil.getMessage("messages.success"), roleService.updateRole(sysRole)); } + /** * 删除角色信息 + * + * @param sysRole 用户 * @Author liy * @Date 2022/7/21 16:38 - * @param sysRole 用户 * @Return AjaxResult */ @ApiOperation("删除角色信息") - @SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.DELETE_OPERATOR) + @SystemLog(msg = FieldConstant.ROLE_MANAGE, operation = FieldConstant.DELETE_OPERATOR) @PostMapping("role/del") - public AjaxResult del(@RequestBody @ApiParam(name="角色",value = "角色实体",required=true) SysRole sysRole){ + public AjaxResult del(@RequestBody @ApiParam(name = "角色", value = "角色实体", required = true) SysRole sysRole) { //admin用户禁止修改操作 - if(FieldConstant.ADMIN.equals(sysRole.getRoleId())){ + if (FieldConstant.ADMIN.equals(sysRole.getRoleId())) { return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete")); } - return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.deleteRoleById(sysRole)); + //根据角色id查询用户 + LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(SysUserRole::getRoleId, sysRole.getRoleId()); + List list = sysUserRoleService.list(eq); + if (StringUtils.isNotNull(list) && list.size() > 0) { + return AjaxResult.error(LocaleUtil.getMessage("messages.delete.exist")); + } + return AjaxResult.success(LocaleUtil.getMessage("messages.success"), roleService.deleteRoleById(sysRole)); } + /** * 修改角色状态 + * + * @param sysRole 角色 * @Author liy * @Date 2022/7/21 16:38 - * @param sysRole 角色 * @Return AjaxResult */ @ApiOperation("修改角色状态") - @SystemLog(msg =FieldConstant.ROLE_MANAGE,operation = FieldConstant.CHANGE_STATUS_OPERATOR) + @SystemLog(msg = FieldConstant.ROLE_MANAGE, operation = FieldConstant.CHANGE_STATUS_OPERATOR) @PostMapping("role/updateStatus") - public AjaxResult updateStatus(@RequestBody @ApiParam(name="角色",value = "角色实体",required=true) SysRole sysRole){ + public AjaxResult updateStatus(@RequestBody @ApiParam(name = "角色", value = "角色实体", required = true) SysRole sysRole) { //admin用户禁止修改操作 - if(FieldConstant.ADMIN.equals(sysRole.getRoleId())){ + if (FieldConstant.ADMIN.equals(sysRole.getRoleId())) { return AjaxResult.error(LocaleUtil.getMessage("messages.not.delete")); } - return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.updateById(sysRole)); + return AjaxResult.success(LocaleUtil.getMessage("messages.success"), roleService.updateById(sysRole)); } + /** * 查询角色名称 + * * @Author liy * @Date 2022/7/25 10:38 * @Return AjaxResult @@ -143,8 +168,8 @@ public class SysRoleController { @ApiOperation("查询角色名称") @GetMapping(value = "role/queryRole") public AjaxResult queryRole() { - LambdaQueryWrapper lambdaQueryWrapper=new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(SysRole::getDelFlag,FieldConstant.DEL_FLAG); - return AjaxResult.success(LocaleUtil.getMessage("messages.success"),roleService.getBaseMapper().selectList(lambdaQueryWrapper)); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SysRole::getDelFlag, FieldConstant.DEL_FLAG); + return AjaxResult.success(LocaleUtil.getMessage("messages.success"), roleService.getBaseMapper().selectList(lambdaQueryWrapper)); } } diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java index d713bfe..f5e4f83 100644 --- a/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ecell.internationalize.common.core.domain.UserLogin; import com.ecell.internationalize.common.core.utils.ServletUtils; +import com.ecell.internationalize.common.core.utils.StringUtils; import com.ecell.internationalize.common.core.utils.ip.IpUtils; import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; import com.ecell.internationalize.common.core.web.domain.AjaxResult; @@ -11,9 +12,11 @@ import com.ecell.internationalize.common.security.utils.SecurityUtils; import com.ecell.internationalize.common.system.annotation.SystemLog; import com.ecell.internationalize.common.system.constant.FieldConstant; import com.ecell.internationalize.common.system.entity.SysUser; +import com.ecell.internationalize.common.system.entity.SysUserRole; import com.ecell.internationalize.common.system.utlis.UploadUtil; import com.ecell.internationalize.system.security.feign.FirmManageFeignClient; import com.ecell.internationalize.system.security.service.SysPermissionService; +import com.ecell.internationalize.system.security.service.SysUserRoleService; import com.ecell.internationalize.system.security.service.SysUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -44,6 +47,7 @@ public class SysUserController { @Autowired private FirmManageFeignClient firmManageFeignClient; + /** * 查询所有用户 * @Author: liy diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages.properties b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages.properties index b5a187a..b4ed7f6 100644 --- a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages.properties +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages.properties @@ -1,18 +1,19 @@ -messages.success=操作成功 -messages.error=操作失败,请联系管理员处理 -messages.account.exit=输入的登录账号已存在 -messages.not.permission=没有权限访问 -messages.role.exit=角色名称已存在 -messages.user.management=用户管理 -messages.role.management=角色管理 -messages.save.operator=新增操作 -messages.update.operator=修改操作 -messages.delete.operator=删除操作 -messages.change.operator=修改状态操作 -messages.system.error=系统异常,请联系管理员处理 -messages.fallback.info=服务不存在或网络端口错误 -messages.not.delete=管理员用户禁止此操作 -messages.reset.password=个人信息重置密码 -messages.admin.prohibit=管理员用户不允许重置密码 -messages.different.password=输入的密码错误,请重新输入 -messages.update.userInfo=修改个人信息 \ No newline at end of file +messages.success=\u64CD\u4F5C\u6210\u529F +messages.error=\u64CD\u4F5C\u5931\u8D25,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u5904\u7406 +messages.account.exit=\u8F93\u5165\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u5B58\u5728 +messages.not.permission=\u6CA1\u6709\u6743\u9650\u8BBF\u95EE +messages.role.exit=\u89D2\u8272\u540D\u79F0\u5DF2\u5B58\u5728 +messages.user.management=\u7528\u6237\u7BA1\u7406 +messages.role.management=\u89D2\u8272\u7BA1\u7406 +messages.save.operator=\u65B0\u589E\u64CD\u4F5C +messages.update.operator=\u4FEE\u6539\u64CD\u4F5C +messages.delete.operator=\u5220\u9664\u64CD\u4F5C +messages.change.operator=\u4FEE\u6539\u72B6\u6001\u64CD\u4F5C +messages.system.error=\u7CFB\u7EDF\u5F02\u5E38,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u5904\u7406 +messages.fallback.info=\u670D\u52A1\u4E0D\u5B58\u5728\u6216\u7F51\u7EDC\u7AEF\u53E3\u9519\u8BEF +messages.not.delete=\u7BA1\u7406\u5458\u7528\u6237\u7981\u6B62\u6B64\u64CD\u4F5C +messages.delete.exist=\u8BE5\u89D2\u8272\u4E0B\u5B58\u5728\u7528\u6237,\u7981\u6B62\u5220\u9664 +messages.reset.password=\u4E2A\u4EBA\u4FE1\u606F\u91CD\u7F6E\u5BC6\u7801 +messages.admin.prohibit=\u7BA1\u7406\u5458\u7528\u6237\u4E0D\u5141\u8BB8\u91CD\u7F6E\u5BC6\u7801 +messages.different.password=\u8F93\u5165\u7684\u5BC6\u7801\u9519\u8BEF,\u8BF7\u91CD\u65B0\u8F93\u5165 +messages.update.userInfo=\u4FEE\u6539\u4E2A\u4EBA\u4FE1\u606F \ No newline at end of file diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_en_US.properties b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_en_US.properties index b8c09ef..e62782c 100644 --- a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_en_US.properties +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_en_US.properties @@ -15,4 +15,5 @@ messages.not.delete=Administrator user prohibits this operation messages.reset.password=Personal information reset password messages.admin.prohibit=Administrator user is not allowed to reset password messages.different.password=The password you entered is incorrect. Please re-enter it -messages.update.userInfo=Modify personal information \ No newline at end of file +messages.update.userInfo=Modify personal information +messages.delete.exist=There are users under this role, deletion is prohibited \ No newline at end of file diff --git a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_zh_CN.properties b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_zh_CN.properties index b5a187a..547ce67 100644 --- a/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_zh_CN.properties +++ b/ecell-internationalize/ecell-internationalize-system-security/src/main/resources/i18n/messages_zh_CN.properties @@ -1,18 +1,19 @@ -messages.success=操作成功 -messages.error=操作失败,请联系管理员处理 -messages.account.exit=输入的登录账号已存在 -messages.not.permission=没有权限访问 -messages.role.exit=角色名称已存在 -messages.user.management=用户管理 -messages.role.management=角色管理 -messages.save.operator=新增操作 -messages.update.operator=修改操作 -messages.delete.operator=删除操作 -messages.change.operator=修改状态操作 -messages.system.error=系统异常,请联系管理员处理 -messages.fallback.info=服务不存在或网络端口错误 -messages.not.delete=管理员用户禁止此操作 -messages.reset.password=个人信息重置密码 -messages.admin.prohibit=管理员用户不允许重置密码 -messages.different.password=输入的密码错误,请重新输入 -messages.update.userInfo=修改个人信息 \ No newline at end of file +messages.success=\u64CD\u4F5C\u6210\u529F +messages.error=\u64CD\u4F5C\u5931\u8D25,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u5904\u7406 +messages.account.exit=\u8F93\u5165\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u5B58\u5728 +messages.not.permission=\u6CA1\u6709\u6743\u9650\u8BBF\u95EE +messages.role.exit=\u89D2\u8272\u540D\u79F0\u5DF2\u5B58\u5728 +messages.user.management=\u7528\u6237\u7BA1\u7406 +messages.role.management=\u89D2\u8272\u7BA1\u7406 +messages.save.operator=\u65B0\u589E\u64CD\u4F5C +messages.update.operator=\u4FEE\u6539\u64CD\u4F5C +messages.delete.operator=\u5220\u9664\u64CD\u4F5C +messages.change.operator=\u4FEE\u6539\u72B6\u6001\u64CD\u4F5C +messages.system.error=\u7CFB\u7EDF\u5F02\u5E38,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u5904\u7406 +messages.fallback.info=\u670D\u52A1\u4E0D\u5B58\u5728\u6216\u7F51\u7EDC\u7AEF\u53E3\u9519\u8BEF +messages.not.delete=\u7BA1\u7406\u5458\u7528\u6237\u7981\u6B62\u6B64\u64CD\u4F5C +messages.reset.password=\u4E2A\u4EBA\u4FE1\u606F\u91CD\u7F6E\u5BC6\u7801 +messages.admin.prohibit=\u7BA1\u7406\u5458\u7528\u6237\u4E0D\u5141\u8BB8\u91CD\u7F6E\u5BC6\u7801 +messages.different.password=\u8F93\u5165\u7684\u5BC6\u7801\u9519\u8BEF,\u8BF7\u91CD\u65B0\u8F93\u5165 +messages.update.userInfo=\u4FEE\u6539\u4E2A\u4EBA\u4FE1\u606F +messages.delete.exist=\u8BE5\u89D2\u8272\u4E0B\u5B58\u5728\u7528\u6237,\u7981\u6B62\u5220\u9664 \ No newline at end of file diff --git a/ecell-internationalize/ecell-internationalize-system/pom.xml b/ecell-internationalize/ecell-internationalize-system/pom.xml index c22cc57..0d73e4b 100644 --- a/ecell-internationalize/ecell-internationalize-system/pom.xml +++ b/ecell-internationalize/ecell-internationalize-system/pom.xml @@ -45,17 +45,17 @@ ${swagger.fox.version} - - - - - + + + + + - - - - - + + + + + com.ecell.internationalize.common.sysytem @@ -98,6 +98,20 @@ jsqlparser 4.1 + + + + + + + + + + + + + + com.baomidou mybatis-plus-generator diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/config/MybatisPlusPageConfig.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/config/MybatisPlusPageConfig.java new file mode 100644 index 0000000..34e58b7 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/config/MybatisPlusPageConfig.java @@ -0,0 +1,17 @@ +package com.ecell.internationalize.system.config; + +import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MybatisPlusPageConfig { + /** + * 分页插件,交给Spring管理 + * @return 分页插件的实例 + */ + @Bean + public PaginationInterceptor paginationInterceptor() { + return new PaginationInterceptor(); + } +} diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/LocationLimitInfoController.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/LocationLimitInfoController.java new file mode 100644 index 0000000..42b8436 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/LocationLimitInfoController.java @@ -0,0 +1,178 @@ +package com.ecell.internationalize.system.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ecell.internationalize.common.core.utils.StringUtils; +import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; +import com.ecell.internationalize.common.core.utils.uuid.UUID; +import com.ecell.internationalize.common.core.web.domain.AjaxResult; +import com.ecell.internationalize.common.redis.service.RedisService; +import com.ecell.internationalize.common.system.constant.FieldConstant; +import com.ecell.internationalize.system.entity.DeviceModelInfo; +import com.ecell.internationalize.system.entity.FirmManage; +import com.ecell.internationalize.system.entity.LocationLimitInfo; +import com.ecell.internationalize.system.entity.dto.LocationLimitInfoPage; +import com.ecell.internationalize.system.service.DeviceModelInfoService; +import com.ecell.internationalize.system.service.FirmManageService; +import com.ecell.internationalize.system.service.LocationLimitInfoService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + + +/** + *

+ * 前端控制器 + *

+ * + * @author ${author} + * @since 2024-07-15 + */ +@Api(value="定位次数限制",tags={"定位次数限制管理接口"}) +@RestController +@RequestMapping("/location-limit-info") +public class LocationLimitInfoController { + @Autowired + private LocationLimitInfoService locationLimitInfoService; + @Autowired + private RedisService redisService; + @Autowired + private DeviceModelInfoService deviceModelInfoService; + @Autowired + private FirmManageService firmManageService; + + + + /** + * 新增定位限制次数 + */ + @PostMapping("/add") + public AjaxResult add(@Validated @RequestBody LocationLimitInfo model) { + + // return AjaxResult.error("新增设备型号'" + model.getDeviceModelName() + "'失败,同一厂商下该名称已存在"); + QueryWrapper wrapper =new QueryWrapper<>(); + wrapper.eq("firm_id",model.getFirmId()); + wrapper.eq("model_id",model.getModelId()); + LocationLimitInfo locationLimitInfo = locationLimitInfoService.getBaseMapper().selectOne(wrapper); + if (StringUtils.isNotNull(locationLimitInfo)){ + return AjaxResult.error(LocaleUtil.getMessage(FieldConstant.LOCAL_LIMIT_MESSAGES_ERROR)); + } + //设置ID + model.setId(UUID.fastUUID().toString(true)); + boolean save = locationLimitInfoService.save(model); + if (save){ + String hashKey = "local:limitCount"+":"+model.getModelId(); + redisService.setCacheObject(hashKey,model.getLimitCount()); + } + + return save ? AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS)) : AjaxResult.error(LocaleUtil.getMessage(FieldConstant.MESSAGES_ERROR)); + } + + /** + * 分页查询定位限制次数 + * @param page + * @return + */ + @PostMapping("/query/page") + public AjaxResult queryPage(@RequestBody LocationLimitInfoPage page) { + + // return AjaxResult.error("新增设备型号'" + model.getDeviceModelName() + "'失败,同一厂商下该名称已存在"); + QueryWrapper wrapper =new QueryWrapper<>(); + if (StringUtils.isNotEmpty(page.getFirmId())){ + wrapper.eq("firm_id",page.getFirmId()); + } + if (StringUtils.isNotEmpty(page.getModelId())){ + wrapper.eq("model_id",page.getModelId()); + } + IPage page1 = locationLimitInfoService.getBaseMapper().selectPage(new Page<>(page.getCurrent(), page.getPageSize()), wrapper); + if (StringUtils.isNotNull(page1)){ + if (StringUtils.isNotNull(page1.getRecords()) && page1.getRecords().size()>0){ + page1.getRecords().forEach(item->{ + if (StringUtils.isNotEmpty(item.getModelId())){ + DeviceModelInfo deviceModelInfo = deviceModelInfoService.getBaseMapper().selectById(item.getModelId()); + if (StringUtils.isNotNull(deviceModelInfo)){ + item.setModelName(deviceModelInfo.getDeviceModelName()); + } + } + if (StringUtils.isNotEmpty(item.getFirmId())){ + FirmManage firmManage = firmManageService.getBaseMapper().selectById(item.getFirmId()); + if (StringUtils.isNotNull(firmManage)){ + item.setFirmName(firmManage.getFirmName()); + } + } + }); + + } + + } + + + return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS), page1); + } + + /** + * 编辑定位限制次数 + * @param info + * @return + */ + + + @PostMapping("/edit") + public AjaxResult edit(@Validated @RequestBody LocationLimitInfo info) { + LocationLimitInfo locationLimitInfo=null; + if (StringUtils.isNotEmpty(info.getId())){ + QueryWrapperwrapper =new QueryWrapper<>(); + wrapper.eq("id",info.getId()); + locationLimitInfo= locationLimitInfoService.getBaseMapper().selectOne(wrapper); + if (StringUtils.isNull(locationLimitInfo)){ + return AjaxResult.error(LocaleUtil.getMessage(FieldConstant.LOCATIONINFO_MESSAGES_ERROR)); + } + } + boolean b = locationLimitInfoService.updateById(info); + if (b){ + String hashKey="local:limitCount"+":"+locationLimitInfo.getModelId(); + if (redisService.hasKey(hashKey)){ + redisService.setCacheObject(hashKey,info.getLimitCount()); + } + + } + + + + return b? AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS)) : AjaxResult.error(LocaleUtil.getMessage(FieldConstant.MESSAGES_ERROR)); + } + + + @GetMapping("/delete/{id}") + public AjaxResult delete(@PathVariable("id") String id) { + LocationLimitInfo locationLimitInfo=null; + if (StringUtils.isNotEmpty(id)){ + QueryWrapperwrapper =new QueryWrapper<>(); + wrapper.eq("id",id); + locationLimitInfo= locationLimitInfoService.getBaseMapper().selectOne(wrapper); + if (StringUtils.isNull(locationLimitInfo)){ + return AjaxResult.error(LocaleUtil.getMessage(FieldConstant.LOCATIONINFO_MESSAGES_ERROR)); + } + } + int i = locationLimitInfoService.getBaseMapper().deleteById(id); + if (i>0){ + String hashKey="local:limitCount"+":"+locationLimitInfo.getModelId(); + if (redisService.hasKey(hashKey)){ + redisService.deleteObject(hashKey); + } + + } + + + + return i>0? AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS)) : AjaxResult.error(LocaleUtil.getMessage(FieldConstant.MESSAGES_ERROR)); + } + + + + +} + diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/LocationLimitInfo.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/LocationLimitInfo.java new file mode 100644 index 0000000..0557075 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/LocationLimitInfo.java @@ -0,0 +1,72 @@ +package com.ecell.internationalize.system.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author ${author} + * @since 2024-07-15 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="LocationLimitInfo对象", description="") +public class LocationLimitInfo implements Serializable { + +private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "厂商id") + @NotBlank(message = "厂商id") + private String firmId; + + @ApiModelProperty(value = "设备型号id") + @NotBlank(message = "设备型号id不能为空") + private String modelId; + + @ApiModelProperty(value = "限制总数") + @Max(value = 200,message = "限制总数不能大于200") + @Min(value = 1,message = "限制总数不能小于1") + private Integer limitCount; + + @ApiModelProperty(value = "创建人") + private String createUser; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "create_time",fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty(value = "修改") + private String updateUser; + + @ApiModelProperty(value = "更新时间") + @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "设备模型名称") + @TableField(exist = false) + private String modelName; + + @ApiModelProperty(value = "厂商名称") + @TableField(exist = false) + private String firmName; + + +} diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/LocationLimitInfoPage.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/LocationLimitInfoPage.java new file mode 100644 index 0000000..20f5efd --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/LocationLimitInfoPage.java @@ -0,0 +1,26 @@ +package com.ecell.internationalize.system.entity.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@ApiModel(value = "LocationLimitInfoPage对象", description = "分页位置请求查询") +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LocationLimitInfoPage { + @ApiModelProperty(value = "厂商id") + private String firmId; + + @ApiModelProperty(value = "型号id") + private String modelId; + + + @ApiModelProperty(value = "每页展示的条数") + private Integer pageSize; + + @ApiModelProperty(value = "当前的页码") + private Integer current; +} diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/LocationLimitInfoMapper.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/LocationLimitInfoMapper.java new file mode 100644 index 0000000..5f9fe79 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/LocationLimitInfoMapper.java @@ -0,0 +1,16 @@ +package com.ecell.internationalize.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ecell.internationalize.system.entity.LocationLimitInfo; + +/** + *

+ * Mapper 接口 + *

+ * + * @author ${author} + * @since 2024-07-15 + */ +public interface LocationLimitInfoMapper extends BaseMapper { + +} diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/LocationLimitInfoService.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/LocationLimitInfoService.java new file mode 100644 index 0000000..449433c --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/LocationLimitInfoService.java @@ -0,0 +1,16 @@ +package com.ecell.internationalize.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ecell.internationalize.system.entity.LocationLimitInfo; + +/** + *

+ * 服务类 + *

+ * + * @author ${author} + * @since 2024-07-15 + */ +public interface LocationLimitInfoService extends IService { + +} diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/ImeiLogInfoServiceImpl.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/ImeiLogInfoServiceImpl.java index 9d4d698..025e0ce 100644 --- a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/ImeiLogInfoServiceImpl.java +++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/ImeiLogInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.ecell.internationalize.system.entity.dto.ImeiLogPageDTO; import com.ecell.internationalize.system.mapper.ImeiLogInfoMapper; import com.ecell.internationalize.system.service.ImeiLogInfoService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -63,7 +64,7 @@ public class ImeiLogInfoServiceImpl extends ServiceImpl + * 服务实现类 + *

+ * + * @author ${author} + * @since 2024-07-15 + */ +@Service +public class LocationLimitInfoServiceImpl extends ServiceImpl implements LocationLimitInfoService { + +} diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/resources/com/ecell/internationalize/system/mapper/LocationLimitInfoMapper.xml b/ecell-internationalize/ecell-internationalize-system/src/main/resources/com/ecell/internationalize/system/mapper/LocationLimitInfoMapper.xml new file mode 100644 index 0000000..e5b2911 --- /dev/null +++ b/ecell-internationalize/ecell-internationalize-system/src/main/resources/com/ecell/internationalize/system/mapper/LocationLimitInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages.properties b/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages.properties index 76c373a..4c06ecd 100644 --- a/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages.properties +++ b/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages.properties @@ -1,54 +1,56 @@ -messages.title=中文国际化 -messages.success=操作成功 -messages.error=操作失败,请联系管理员处理 -messages.pwd.empty=密码为空,请输入密码 -messages.pwd.length=输入的密码长度应在6-32位之间 -messages.firm.phone=联系人电话号码不能为空 -messages.firm.name=厂商名称不能为空 -messages.firm.man=企业联系人不能为空 -messages.firm.startTime=合作开始时间不能为空 -messages.firm.location=企业地址不能为空 -messages.firm.code=厂商编号不能为空 -messages.firm.salesMan=推广人员不能为空 -messages.firm.email=企业邮箱不能为空 -messages.firm.endTime=合作结束时间不能为空 -messages.category.name=类别名称不能为空 -messages.category.order=排序序号不能为空 -messages.category.exit=类别名称已存在,请输入符合条件的值 -messages.firm.exit=厂商名称已存在,请输入符合条件的值 -messages.content.category=所属消息类别不能为空 -messages.content.name=消息内容不能为空 -messages.content.hot=是否热门问题不能为空 -messages.user.type=用户类别不能为空 -messages.activity.search=热门搜索内容不能为空 -messages.upload.fail=只能上传jpg和png格式的图片 -messages.banner.link=banner图链接不能为空 -messages.banner.title=banner图标题不能为空 -messages.advert.name=广告商名称不能为空 -messages.advert.flag=广告商标识不能为空 -messages.activity.banner=活动Banner管理 -messages.activity.manage=活动管理 -messages.activity.banner.publish=活动banner图发布/取消发布操作 -messages.save.operator=新增操作 -messages.update.operator=修改操作 -messages.delete.operator=删除操作 -messages.change.operator=修改状态操作 -messages.system.error=系统异常,请联系管理员处理 -messages.activity.publish=活动发布/取消发布操作 -messages.hot.search=热门搜索功能 -messages.advert.manage=广告配置功能 -messages.word.roll=文字滚动广告功能 -messages.channel.manage=渠道管理功能 -messages.firm.manage=厂商管理 -messages.home.banner=首页Banner管理 -messages.home.banner.publish=首页banner图发布/取消发布操作 -messages.category.function=消息类别功能 -messages.category.content=消息内容功能 -messages.hot.question=修改为热门问题/普通问题操作 -messages.system.content=系统消息功能 -messages.user.operator=用户操作功能 -messages.user.change=启用/停用账号操作 -messages.version.update=检查版本更新 -messages.version.apk=仅支持上传APK格式的文件 -messages.has.exit=已存在相同的记录,请重新输入 +messages.title=\u4E2D\u6587\u56FD\u9645\u5316 +messages.success=\u64CD\u4F5C\u6210\u529F +messages.error=\u64CD\u4F5C\u5931\u8D25,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u5904\u7406 +messages.pwd.empty=\u5BC6\u7801\u4E3A\u7A7A,\u8BF7\u8F93\u5165\u5BC6\u7801 +messages.pwd.length=\u8F93\u5165\u7684\u5BC6\u7801\u957F\u5EA6\u5E94\u57286-32\u4F4D\u4E4B\u95F4 +messages.firm.phone=\u8054\u7CFB\u4EBA\u7535\u8BDD\u53F7\u7801\u4E0D\u80FD\u4E3A\u7A7A +messages.firm.name=\u5382\u5546\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A +messages.firm.man=\u4F01\u4E1A\u8054\u7CFB\u4EBA\u4E0D\u80FD\u4E3A\u7A7A +messages.firm.startTime=\u5408\u4F5C\u5F00\u59CB\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A +messages.firm.location=\u4F01\u4E1A\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A +messages.firm.code=\u5382\u5546\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A +messages.firm.salesMan=\u63A8\u5E7F\u4EBA\u5458\u4E0D\u80FD\u4E3A\u7A7A +messages.firm.email=\u4F01\u4E1A\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A +messages.firm.endTime=\u5408\u4F5C\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A +messages.category.name=\u7C7B\u522B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A +messages.category.order=\u6392\u5E8F\u5E8F\u53F7\u4E0D\u80FD\u4E3A\u7A7A +messages.category.exit=\u7C7B\u522B\u540D\u79F0\u5DF2\u5B58\u5728,\u8BF7\u8F93\u5165\u7B26\u5408\u6761\u4EF6\u7684\u503C +messages.firm.exit=\u5382\u5546\u540D\u79F0\u5DF2\u5B58\u5728,\u8BF7\u8F93\u5165\u7B26\u5408\u6761\u4EF6\u7684\u503C +messages.content.category=\u6240\u5C5E\u6D88\u606F\u7C7B\u522B\u4E0D\u80FD\u4E3A\u7A7A +messages.content.name=\u6D88\u606F\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A +messages.content.hot=\u662F\u5426\u70ED\u95E8\u95EE\u9898\u4E0D\u80FD\u4E3A\u7A7A +messages.user.type=\u7528\u6237\u7C7B\u522B\u4E0D\u80FD\u4E3A\u7A7A +messages.activity.search=\u70ED\u95E8\u641C\u7D22\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A +messages.upload.fail=\u53EA\u80FD\u4E0A\u4F20jpg\u548Cpng\u683C\u5F0F\u7684\u56FE\u7247 +messages.banner.link=banner\u56FE\u94FE\u63A5\u4E0D\u80FD\u4E3A\u7A7A +messages.banner.title=banner\u56FE\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A +messages.advert.name=\u5E7F\u544A\u5546\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A +messages.advert.flag=\u5E7F\u544A\u5546\u6807\u8BC6\u4E0D\u80FD\u4E3A\u7A7A +messages.activity.banner=\u6D3B\u52A8Banner\u7BA1\u7406 +messages.activity.manage=\u6D3B\u52A8\u7BA1\u7406 +messages.activity.banner.publish=\u6D3B\u52A8banner\u56FE\u53D1\u5E03/\u53D6\u6D88\u53D1\u5E03\u64CD\u4F5C +messages.save.operator=\u65B0\u589E\u64CD\u4F5C +messages.update.operator=\u4FEE\u6539\u64CD\u4F5C +messages.delete.operator=\u5220\u9664\u64CD\u4F5C +messages.change.operator=\u4FEE\u6539\u72B6\u6001\u64CD\u4F5C +messages.system.error=\u7CFB\u7EDF\u5F02\u5E38,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u5904\u7406 +messages.activity.publish=\u6D3B\u52A8\u53D1\u5E03/\u53D6\u6D88\u53D1\u5E03\u64CD\u4F5C +messages.hot.search=\u70ED\u95E8\u641C\u7D22\u529F\u80FD +messages.advert.manage=\u5E7F\u544A\u914D\u7F6E\u529F\u80FD +messages.word.roll=\u6587\u5B57\u6EDA\u52A8\u5E7F\u544A\u529F\u80FD +messages.channel.manage=\u6E20\u9053\u7BA1\u7406\u529F\u80FD +messages.firm.manage=\u5382\u5546\u7BA1\u7406 +messages.home.banner=\u9996\u9875Banner\u7BA1\u7406 +messages.home.banner.publish=\u9996\u9875banner\u56FE\u53D1\u5E03/\u53D6\u6D88\u53D1\u5E03\u64CD\u4F5C +messages.category.function=\u6D88\u606F\u7C7B\u522B\u529F\u80FD +messages.category.content=\u6D88\u606F\u5185\u5BB9\u529F\u80FD +messages.hot.question=\u4FEE\u6539\u4E3A\u70ED\u95E8\u95EE\u9898/\u666E\u901A\u95EE\u9898\u64CD\u4F5C +messages.system.content=\u7CFB\u7EDF\u6D88\u606F\u529F\u80FD +messages.user.operator=\u7528\u6237\u64CD\u4F5C\u529F\u80FD +messages.user.change=\u542F\u7528/\u505C\u7528\u8D26\u53F7\u64CD\u4F5C +messages.version.update=\u68C0\u67E5\u7248\u672C\u66F4\u65B0 +messages.version.apk=\u4EC5\u652F\u6301\u4E0A\u4F20APK\u683C\u5F0F\u7684\u6587\u4EF6 +messages.has.exit=\u5DF2\u5B58\u5728\u76F8\u540C\u7684\u8BB0\u5F55,\u8BF7\u91CD\u65B0\u8F93\u5165 +locationInfo.messages.error=\u83B7\u53D6\u4F4D\u7F6E\u4FE1\u606F\u5931\u8D25 +localLimit.messages.error=\u83B7\u53D6\u5B9A\u4F4D\u6B21\u6570\u5931\u8D25 diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_en_US.properties b/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_en_US.properties index a6ff47d..b1f05ed 100644 --- a/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_en_US.properties +++ b/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_en_US.properties @@ -84,4 +84,6 @@ messages.import.congratulations.success=Congratulations, the data has been impor messages.data.are=the data are as follows: messages.limit.max.error=The current interface has reached the maximum current limit times messages.incorrect.content.error=Incorrect IMEI content +locationInfo.messages.error=locationInfo.messages.error +localLimit.messages.error=localLimit.messages.error diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_zh_CN.properties b/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_zh_CN.properties index fdd700d..b473033 100644 --- a/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_zh_CN.properties +++ b/ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_zh_CN.properties @@ -83,4 +83,7 @@ messages.import.format.error=\u5171\u6761\u6570\u636E\u683C\u5F0F\u4E0D\u6B63\u7 messages.import.congratulations.success=\u606D\u559C\u60A8\uFF0C\u6570\u636E\u5DF2\u5168\u90E8\u5BFC\u5165\u6210\u529F\uFF01\u5171 messages.data.are=\u6761\uFF0C\u6570\u636E\u5982\u4E0B\uFF1A messages.limit.max.error=\u5F53\u524D\u63A5\u53E3\u8FBE\u5230\u6700\u5927\u9650\u6D41\u6B21\u6570 -messages.incorrect.content.error=imei\u5185\u5BB9\u6709\u8BEF \ No newline at end of file +messages.incorrect.content.error=imei\u5185\u5BB9\u6709\u8BEF + +locationInfo.messages.error=\u83B7\u53D6\u4F4D\u7F6E\u4FE1\u606F\u5931\u8D25 +localLimit.messages.error=\u83B7\u53D6\u5B9A\u4F4D\u6B21\u6570\u5931\u8D25 \ No newline at end of file