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