Browse Source

重构国际化,系统设备步数电量相关接口开发

master
caojianbin 1 year ago
parent
commit
e9aef62e18
  1. 213
      ecell-internationalize/ecell-internationalize-app/pom.xml
  2. 27
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/EcellInternationalizeApp.java
  3. 7
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/entity/AddressBookApp.java
  4. 7
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/AddressBookAppService.java
  5. 8
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/impl/AddressBookAppServiceImpl.java
  6. 2
      ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/EcellAuthApplication.java
  7. 1
      ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/controller/AuthController.java
  8. 3
      ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/service/impl/SysUserLoginServiceImpl.java
  9. 6
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/pom.xml
  10. 12
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/auth/AuthLogic.java
  11. 15
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/auth/AuthUtil.java
  12. 7
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/interceptor/HeaderInterceptor.java
  13. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/service/TokenService.java
  14. 67
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/utils/SecurityUtils.java
  15. 5
      ecell-internationalize/ecell-internationalize-gateway/src/main/java/com/ecell/internationalize/gateway/EcellGatewayApplication.java
  16. 6
      ecell-internationalize/ecell-internationalize-system-security/pom.xml
  17. 2
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/EcellSecurityApplication.java
  18. 11
      ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java
  19. 2
      ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/EcellSystemApplication.java
  20. 44
      ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DeviceStepDailyController.java
  21. 83
      ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DevicePosition.java
  22. 29
      ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceStepDailyMapper.java
  23. 27
      ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DeviceStepDailyService.java
  24. 73
      ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/DeviceStepDailyServiceImpl.java
  25. 39
      ecell-internationalize/ecell-internationalize-system/src/main/resources/com/ecell/internationalize/system/mapper/DeviceStepDailyMapper.xml

213
ecell-internationalize/ecell-internationalize-app/pom.xml

@ -12,9 +12,214 @@ @@ -12,9 +12,214 @@
<groupId>com.ecell.internationalize.app</groupId>
<artifactId>ecell-internationalize-app</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.ecell.internationalize.common.redis</groupId>
<artifactId>ecell-internationalize-redis</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.ecell.internationalize.common.core</groupId>
<artifactId>ecell-internationalize-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--公共数据Dao-->
<!-- <dependency>-->
<!-- <groupId>com.campus.common.jdbc</groupId>-->
<!-- <artifactId>campus-common-jdbc</artifactId>-->
<!-- <version>4.0.0</version>-->
<!-- </dependency>-->
<!-- RuoYi Common Swagger -->
<dependency>
<groupId>com.ecell.internationalize.common.swagger</groupId>
<artifactId>ecell-internationalize-swagger</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.campus.common.syspush</groupId>-->
<!-- <artifactId>campus-common-syspush</artifactId>-->
<!-- <version>4.0.0</version>-->
<!-- </dependency>-->
<!--druid数据源 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<!--lombok依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--项目pom同时依赖了pagehelper与mybatis-plus,导致jsqlparser的jar冲突-->
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>4.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.1.1</version>
<exclusions>
<exclusion>
<artifactId>mybatis</artifactId>
<groupId>org.mybatis</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.1</version>
</dependency>
<!--SpringBoot访问静态资源 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--Netty依赖 -->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.39.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.marshalling</groupId>
<artifactId>jboss-marshalling-serial</artifactId>
<version>2.0.0.Beta2</version>
</dependency>
<!--mqtt-emqx的依赖jar-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-integration</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-stream</artifactId>
</dependency>
<!--这个依赖里面其实包含了org.eclipse.paho.client.mqttv3,
因此核心依赖还是org.eclipse.paho.client.mqttv3-->
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>
<!--kafka依赖-->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>2.8.6</version>
</dependency>
<!-- 解析user-agent判断设备信息-->
<dependency>
<groupId>cz.mallat.uasparser</groupId>
<artifactId>uasparser</artifactId>
<version>0.6.0</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<!--小米消息推送 -->
<dependency>
<groupId>com.xiaomi</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>com.xiaomi</groupId>
<artifactId>MiPush_SDK_Server</artifactId>
<version>2.1.0.14</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.6.8</version>
<!--将第三放jar包引入打包的jar包中去 -->
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/*.vm</include>
<include>**/*.properties</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>

27
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/EcellInternationalizeApp.java

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
package com.ecell.internationalize.app;
import com.ecell.internationalize.common.swagger.annotation.EnableCustomSwagger2;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* @author borui
*/
@EnableAspectJAutoProxy(exposeProxy = true)
@MapperScan(basePackages={"com.ecell.internationalize.app.**.mapper"})
@EnableAsync
@EnableCustomSwagger2
@EnableFeignClients
@EnableScheduling
@SpringBootApplication(scanBasePackages = "com.ecell.internationalize")
public class EcellInternationalizeApp {
public static void main(String[] args) {
SpringApplication.run(EcellInternationalizeApp.class, args);
System.out.println("易赛国际化app服务系统启动成功");
}
}

7
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/entity/AddressBookApp.java

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
package com.ecell.internationalize.app.entity;
/**
* @author borui
*/
public class AddressBookApp {
}

7
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/AddressBookAppService.java

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
package com.ecell.internationalize.app.service;
/**
* @author borui
*/
public interface AddressBookAppService {
}

8
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/impl/AddressBookAppServiceImpl.java

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
package com.ecell.internationalize.app.service.impl;
/**
* @author borui
*/
public class AddressBookAppServiceImpl {
}

2
ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/EcellAuthApplication.java

@ -18,6 +18,6 @@ public class EcellAuthApplication { @@ -18,6 +18,6 @@ public class EcellAuthApplication {
SpringApplication.run(EcellAuthApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 认证授权中心启动成功 ლ(´ڡ`ლ)゙ \n");
System.out.println("(♥◠‿◠)ノ゙ 易赛国际化认证授权中心启动成功 ლ(´ڡ`ლ)゙ \n");
}
}

1
ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/controller/AuthController.java

@ -10,7 +10,6 @@ import com.ecell.internationalize.common.core.utils.locale.LocaleUtil; @@ -10,7 +10,6 @@ import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
import com.ecell.internationalize.common.core.web.domain.AjaxResult;
import com.ecell.internationalize.common.core.web.domain.R;
import com.ecell.internationalize.common.security.service.TokenService;
import com.ecell.internationalize.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

3
ecell-internationalize/ecell-internationalize-auth/src/main/java/com/ecell/internationalize/auth/service/impl/SysUserLoginServiceImpl.java

@ -1,6 +1,5 @@ @@ -1,6 +1,5 @@
package com.ecell.internationalize.auth.service.impl;
import cn.hutool.http.HttpUtil;
import com.ecell.internationalize.auth.feign.SysUserFeignClient;
import com.ecell.internationalize.auth.service.SysUserLoginService;
import com.ecell.internationalize.common.core.domain.UserLogin;
@ -10,8 +9,6 @@ import com.ecell.internationalize.common.core.utils.StringUtils; @@ -10,8 +9,6 @@ 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.R;
import com.ecell.internationalize.common.security.utils.SecurityUtils;
import net.bytebuddy.implementation.bytecode.constant.FieldConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

6
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/pom.xml

@ -73,6 +73,12 @@ @@ -73,6 +73,12 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>com.ecell.internationalize.common.security</groupId>
<artifactId>ecell-internationalize-security</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>

12
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/auth/AuthLogic.java

@ -1,7 +1,6 @@ @@ -1,7 +1,6 @@
package com.ecell.internationalize.common.security.auth;
import com.ecell.internationalize.common.core.domain.LoginUser;
import com.ecell.internationalize.common.core.domain.SysUser;
import com.ecell.internationalize.common.core.domain.UserLogin;
import com.ecell.internationalize.common.core.exception.auth.NotLoginException;
import com.ecell.internationalize.common.core.exception.auth.NotPermissionException;
@ -184,6 +183,17 @@ public class AuthLogic { @@ -184,6 +183,17 @@ public class AuthLogic {
tokenService.verifyToken(loginUser);
}
/**
* 验证yisai当前用户有效期, 如果相差不足120分钟自动刷新缓存
*
* @param loginUser 当前用户信息
*/
public void verifyUserLoginExpire(UserLogin loginUser)
{
tokenService.verifyYiSaiToken(loginUser);
}
/**
* 验证用户是否具备某权限
*

15
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/auth/AuthUtil.java

@ -2,6 +2,7 @@ package com.ecell.internationalize.common.security.auth; @@ -2,6 +2,7 @@ package com.ecell.internationalize.common.security.auth;
import com.ecell.internationalize.common.core.domain.LoginUser;
import com.ecell.internationalize.common.core.domain.SysUser;
import com.ecell.internationalize.common.core.domain.UserLogin;
import com.ecell.internationalize.common.security.annotation.RequiresPermissions;
import com.ecell.internationalize.common.security.annotation.RequiresRoles;
@ -49,6 +50,11 @@ public class AuthUtil { @@ -49,6 +50,11 @@ public class AuthUtil {
return authLogic.getLoginUser(token);
}
public static UserLogin getUserLogin(String token)
{
return authLogic.getUserLogin(token);
}
/**
* 验证当前用户有效期
*/
@ -57,6 +63,15 @@ public class AuthUtil { @@ -57,6 +63,15 @@ public class AuthUtil {
authLogic.verifyLoginUserExpire(loginUser);
}
/**
* 验证yisai当前用户有效期
*/
public static void verifyUserLoginExpire(UserLogin loginUser)
{
authLogic.verifyUserLoginExpire(loginUser);
}
/**
* 当前账号是否含有指定角色标识, 返回true或false
*

7
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/interceptor/HeaderInterceptor.java

@ -2,7 +2,7 @@ package com.ecell.internationalize.common.security.interceptor; @@ -2,7 +2,7 @@ package com.ecell.internationalize.common.security.interceptor;
import com.ecell.internationalize.common.core.constant.SecurityConstants;
import com.ecell.internationalize.common.core.context.SecurityContextHolder;
import com.ecell.internationalize.common.core.domain.LoginUser;
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.security.auth.AuthUtil;
@ -33,10 +33,11 @@ public class HeaderInterceptor implements AsyncHandlerInterceptor { @@ -33,10 +33,11 @@ public class HeaderInterceptor implements AsyncHandlerInterceptor {
String token = SecurityUtils.getToken();
if (StringUtils.isNotEmpty(token))
{
LoginUser loginUser = AuthUtil.getLoginUser(token);
UserLogin loginUser = AuthUtil.getUserLogin(token);
if (StringUtils.isNotNull(loginUser))
{
AuthUtil.verifyLoginUserExpire(loginUser);
AuthUtil.verifyUserLoginExpire(loginUser);
SecurityContextHolder.set(SecurityConstants.LOGIN_USER, loginUser);
}
}

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/service/TokenService.java

@ -1,11 +1,9 @@ @@ -1,11 +1,9 @@
package com.ecell.internationalize.common.security.service;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.ecell.internationalize.common.core.constant.CacheConstants;
import com.ecell.internationalize.common.core.constant.SecurityConstants;
import com.ecell.internationalize.common.core.domain.LoginUser;
import com.ecell.internationalize.common.core.domain.SysUser;
import com.ecell.internationalize.common.core.domain.UserLogin;
import com.ecell.internationalize.common.core.utils.JwtUtils;
import com.ecell.internationalize.common.core.utils.ServletUtils;

67
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-security/src/main/java/com/ecell/internationalize/common/security/utils/SecurityUtils.java

@ -4,12 +4,15 @@ import com.ecell.internationalize.common.core.constant.SecurityConstants; @@ -4,12 +4,15 @@ import com.ecell.internationalize.common.core.constant.SecurityConstants;
import com.ecell.internationalize.common.core.constant.TokenConstants;
import com.ecell.internationalize.common.core.context.SecurityContextHolder;
import com.ecell.internationalize.common.core.domain.LoginUser;
import com.ecell.internationalize.common.core.domain.SysUser;
import com.ecell.internationalize.common.core.domain.UserLogin;
import com.ecell.internationalize.common.core.exception.ServiceException;
import com.ecell.internationalize.common.core.utils.ServletUtils;
import com.ecell.internationalize.common.core.utils.StringUtils;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
* @author borui
@ -60,6 +63,15 @@ public class SecurityUtils { @@ -60,6 +63,15 @@ public class SecurityUtils {
return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class);
}
/**
* yisai 获取登录用户信息
*/
public static UserLogin getUserLogin()
{
return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, UserLogin.class);
}
/**
* 获取请求token
*/
@ -160,4 +172,57 @@ public class SecurityUtils { @@ -160,4 +172,57 @@ public class SecurityUtils {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
return passwordEncoder.matches(rawPassword, encodedPassword);
}
/**
* 获取厂商Id
* @param userLogin
* @return
*/
public static String getFirmId(UserLogin userLogin) {
if (StringUtils.isNull(userLogin)) {
throw new ServiceException("用户有误,请重新登录");
}
if ("1".equals(userLogin.getFirmFlag())) {
return userLogin.getFirmId();
} else if ("2".equals(userLogin.getFirmFlag()) && StringUtils.isNotEmpty(userLogin.getSecondFirmId())) {
return userLogin.getSecondFirmId();
}
return null;
}
/**
* 获取厂商Id,代理商ID
* @param userLogin
* @return
*/
public static Map<String,String> getFirmIdOrSecondFirmId(UserLogin userLogin) {
Map<String,String> map =new HashMap<>(2);
if (StringUtils.isNull(userLogin)) {
throw new ServiceException("用户有误,请重新登录");
}
// //如果是管理员
// if (SecurityUtils.isAdminString(SecurityContextHolder.getStringUserId())){
// return map;
// }
//是厂商
if ("1".equals(userLogin.getFirmFlag())) {
map.put("firmFlag","1");
map.put("firmId",userLogin.getFirmId());
return map;
//代理商
} else if ("2".equals(userLogin.getFirmFlag()) && StringUtils.isNotEmpty(userLogin.getSecondFirmId())) {
map.put("firmFlag","2");
map.put("firmId",userLogin.getSecondFirmId());
return map;
//这里有可能是管理员,还有其余的角色,其余的角色不用做数据隔离,可以看全部
}else if ("3".equals(userLogin.getFirmFlag())){
return map;
}
return map;
}
}

5
ecell-internationalize/ecell-internationalize-gateway/src/main/java/com/ecell/internationalize/gateway/EcellGatewayApplication.java

@ -4,11 +4,14 @@ import org.springframework.boot.SpringApplication; @@ -4,11 +4,14 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
/**
* @author borui
*/
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
public class EcellGatewayApplication {
public static void main(String[] args)
{
SpringApplication.run(EcellGatewayApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 易赛网关启动成功 ლ(´ڡ`ლ)゙");
System.out.println("(♥◠‿◠)ノ゙ 易赛国际化网关启动成功 ლ(´ڡ`ლ)゙");
}
}

6
ecell-internationalize/ecell-internationalize-system-security/pom.xml

@ -78,7 +78,11 @@ @@ -78,7 +78,11 @@
<groupId>com.ecell.internationalize.common.sysytem</groupId>
<artifactId>ecell-internationalize-common-system</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.ecell.internationalize.common.security</groupId>
<artifactId>ecell-internationalize-security</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>

2
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/EcellSecurityApplication.java

@ -18,6 +18,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -18,6 +18,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
public class EcellSecurityApplication {
public static void main(String[] args) {
SpringApplication.run(EcellSecurityApplication.class, args);
System.out.println("系统用户服务启动成功");
System.out.println("易赛国际化系统用户服务启动成功");
}
}

11
ecell-internationalize/ecell-internationalize-system-security/src/main/java/com/ecell/internationalize/system/security/controller/SysUserController.java

@ -7,7 +7,6 @@ import com.ecell.internationalize.common.core.utils.ServletUtils; @@ -7,7 +7,6 @@ import com.ecell.internationalize.common.core.utils.ServletUtils;
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;
import com.ecell.internationalize.common.security.annotation.RequiresPermissions;
import com.ecell.internationalize.common.security.utils.SecurityUtils;
import com.ecell.internationalize.common.system.annotation.SystemLog;
import com.ecell.internationalize.common.system.constant.FieldConstant;
@ -127,7 +126,7 @@ public class SysUserController { @@ -127,7 +126,7 @@ public class SysUserController {
* @Return AjaxResult
*/
@ApiOperation("条件分页查询用户信息")
@RequiresPermissions("system:userList:list")
// @RequiresPermissions("system:userList:list")
@PostMapping("user/pageList")
public AjaxResult queryAllByPage(@RequestBody Map<String,Object> map){
return AjaxResult.success(LocaleUtil.getMessage("messages.success"),sysUserService.findAllByPage(map));
@ -140,7 +139,7 @@ public class SysUserController { @@ -140,7 +139,7 @@ public class SysUserController {
* @Return AjaxResult
*/
@ApiOperation("新增用户信息")
@RequiresPermissions("system:userList:add")
// @RequiresPermissions("system:userList:add")
@SystemLog(msg = FieldConstant.USER_MANAGE,operation = FieldConstant.SAVE_OPERATOR)
@PostMapping("user/save")
public AjaxResult save(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser) {
@ -163,7 +162,7 @@ public class SysUserController { @@ -163,7 +162,7 @@ public class SysUserController {
* @Return AjaxResult
*/
@ApiOperation("修改用户信息")
@RequiresPermissions("system:userList:update")
//@RequiresPermissions("system:userList:update")
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.UPDATE_OPERATOR)
@PostMapping("user/update")
public AjaxResult update(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){
@ -192,7 +191,7 @@ public class SysUserController { @@ -192,7 +191,7 @@ public class SysUserController {
* @Return AjaxResult
*/
@ApiOperation("删除用户信息")
@RequiresPermissions("system:userList:delete")
// @RequiresPermissions("system:userList:delete")
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.DELETE_OPERATOR)
@PostMapping("user/del")
public AjaxResult del(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){
@ -210,7 +209,7 @@ public class SysUserController { @@ -210,7 +209,7 @@ public class SysUserController {
* @Return AjaxResult
*/
@ApiOperation("修改用户状态")
@RequiresPermissions("system:userList:status")
// @RequiresPermissions("system:userList:status")
@SystemLog(msg =FieldConstant.USER_MANAGE,operation = FieldConstant.CHANGE_STATUS_OPERATOR)
@PostMapping("user/updateStatus")
public AjaxResult updateStatus(@RequestBody @ApiParam(name="用户", value = "用户实体",required=true) SysUser sysUser){

2
ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/EcellSystemApplication.java

@ -18,7 +18,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; @@ -18,7 +18,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
public class EcellSystemApplication {
public static void main(String[] args) {
SpringApplication.run(EcellSystemApplication.class, args);
System.out.println("易赛后台服务管理系统启动成功");
System.out.println("易赛国际化后台服务管理系统启动成功");
}
}

44
ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DeviceStepDailyController.java

@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
package com.ecell.internationalize.system.controller;
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
import com.ecell.internationalize.common.core.web.domain.AjaxResult;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import com.ecell.internationalize.system.service.DeviceStepDailyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* <p>
* 设备步数 前端控制器
* </p>
*
* @author liy
* @since 2022-07-11
*/
@Api(value="设备步数",tags={"设备步数接口"})
@RestController
@RequestMapping("/device_step_daily")
public class DeviceStepDailyController {
@Autowired
private DeviceStepDailyService deviceStepDailyService;
/**
* 设备步数条件分页查询
* @Author liy
* @Date 2022/7/12 10:38
* @param map 分页条件查询体
* @Return AjaxResult
*/
@ApiOperation("条件分页查询设备步数信息")
@PostMapping("step/list")
public AjaxResult queryAll(@RequestBody Map<String,Object> map){
return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS),deviceStepDailyService.findAllByPage(map));
}
}

83
ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DevicePosition.java

@ -0,0 +1,83 @@ @@ -0,0 +1,83 @@
package com.ecell.internationalize.system.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* <p>
* 设备定位签到
* </p>
*
* @author liy
* @since 2022-07-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("device_position")
public class DevicePosition {
private static final long serialVersionUID=1L;
/**
* 主键Id
*/
@TableId("id")
private String id;
/**
* 设备iMei
*/
@TableField("i_mei")
private String mei;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 定位类型0LBS1GPS
*/
private String positionType;
/**
* 地址
*/
private String address;
/**
* 创建人
*/
private String createUser;
/**
* 创建时间
*/
@TableField(value = "create_time",fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 修改人
*/
private String updateUser;
/**
* 修改时间
*/
@TableField(value = "update_time",fill = FieldFill.UPDATE)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}

29
ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceStepDailyMapper.java

@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
package com.ecell.internationalize.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ecell.internationalize.system.entity.DeviceStepDaily;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* <p>
* 设备步数 Mapper 接口
* </p>
*
* @author liy
* @since 2022-07-11
*/
public interface DeviceStepDailyMapper extends BaseMapper<DeviceStepDaily> {
/**
* 步数条件分页查询
* @Author liy
* @Date 2022/7/12 15:42
* @param page 分页
* @param map 查询条件
* @return Page
*/
Page<DeviceStepDaily> getList(@Param("page") Page<DeviceStepDaily> page, @Param("map") Map<String, Object> map,@Param("iMeiList") List<String> iMeiList);
}

27
ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DeviceStepDailyService.java

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
package com.ecell.internationalize.system.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ecell.internationalize.system.entity.DeviceStepDaily;
import java.util.Map;
/**
* <p>
* 设备步数 服务类
* </p>
*
* @author liy
* @since 2022-07-11
*/
public interface DeviceStepDailyService extends IService<DeviceStepDaily> {
/**
* 设备步数条件分页查询
* @Author liy
* @Date 2022/7/12 10:42
* @param map 分页查询体
* @return IPage
*/
IPage<DeviceStepDaily> findAllByPage(Map<String, Object> map);
}

73
ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/DeviceStepDailyServiceImpl.java

@ -0,0 +1,73 @@ @@ -0,0 +1,73 @@
package com.ecell.internationalize.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ecell.internationalize.common.core.context.SecurityContextHolder;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import com.ecell.internationalize.common.system.entity.SysUser;
import com.ecell.internationalize.system.entity.DeviceInfo;
import com.ecell.internationalize.system.entity.DeviceStepDaily;
import com.ecell.internationalize.system.mapper.DeviceInfoMapper;
import com.ecell.internationalize.system.mapper.DeviceStepDailyMapper;
import com.ecell.internationalize.system.mapper.FirmManageMapper;
import com.ecell.internationalize.system.service.DeviceStepDailyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <p>
* 设备步数 服务实现类
* </p>
*
* @author liy
* @since 2022-07-11
*/
@Service
public class DeviceStepDailyServiceImpl extends ServiceImpl<DeviceStepDailyMapper, DeviceStepDaily> implements DeviceStepDailyService {
@Autowired
private DeviceStepDailyMapper deviceStepDailyMapper;
@Autowired
private FirmManageMapper firmManageMapper;
@Autowired
private DeviceInfoMapper deviceInfoMapper;
/**
* 设备步数条件分页查询
* @Author liy
* @Date 2022/7/12 10:42
* @param map 分页查询体
* @return IPage
*/
@Override
public IPage<DeviceStepDaily> findAllByPage(Map<String, Object> map) {
Page<DeviceStepDaily> page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString()));
String userId= SecurityContextHolder.getStringUserId();
SysUser sysUser = firmManageMapper.queryFirmId(userId);
if (FieldConstant.ADMIN.equals(userId) || "3".equals(sysUser.getFirmFlag())){
//管理员或者超级厂商显示所有数据
return deviceStepDailyMapper.getList(page,map,null);
}
LambdaQueryWrapper<DeviceInfo> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DeviceInfo::getDelFlag,FieldConstant.DEL_FLAG);
//厂商
if (FieldConstant.MATH_ONE.equals(sysUser.getFirmFlag())){
//如果该用户选择的是厂商,显示厂商以及厂商下面的所有代理商设备数据
lambdaQueryWrapper.eq(DeviceInfo::getFirmId,sysUser.getFirmId());
}
else {
lambdaQueryWrapper.eq(DeviceInfo::getAgentId,sysUser.getSecondFirmId());
}
List<DeviceInfo> deviceInfoList = deviceInfoMapper.selectList(lambdaQueryWrapper);
if (CollectionUtils.isEmpty(deviceInfoList)){
return null;
}
List<String> iMeiList= deviceInfoList.stream().map(DeviceInfo::getImei).collect(Collectors.toList());
return deviceStepDailyMapper.getList(page,map,iMeiList);
}
}

39
ecell-internationalize/ecell-internationalize-system/src/main/resources/com/ecell/internationalize/system/mapper/DeviceStepDailyMapper.xml

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ecell.internationalize.system.mapper.DeviceStepDailyMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ecell.internationalize.system.entity.DeviceStepDaily">
<id column="id" property="id" />
<result column="imei" property="imei" />
<result column="walks_num" property="walksNum" />
<result column="name" property="name" />
<result column="walks_distance" property="walksDistance" />
<result column="walks_calorie" property="walksCalorie" />
<result column="create_user" property="createUser" />
<result column="create_time" property="createTime" />
<result column="update_user" property="updateUser" />
<result column="update_time" property="updateTime" />
</resultMap>
<select id="getList" resultMap="BaseResultMap">
select A.id,A.imei,A.walks_num,A.walks_distance,A.walks_calorie,A.create_user,A.create_time,A.update_user,A.update_time,B.name from
device_step_daily A left join device_owner_info_app B ON A.imei=B.imei
where 1=1
<if test="map.iMei!=null and map.iMei!=''">
and A.imei=#{map.iMei}
</if>
<if test="map.startTime!=null">
<![CDATA[and DATE_FORMAT(A.create_time,'%Y-%m-%d')>=DATE_FORMAT(#{map.startTime},'%Y-%m-%d')]]>
</if>
<if test="map.endTime!=null">
<![CDATA[and DATE_FORMAT(A.create_time,'%Y-%m-%d')<=DATE_FORMAT(#{map.endTime},'%Y-%m-%d')]]>
</if>
<if test="iMeiList!=null and iMeiList.size>0">
and A.imei in
<foreach collection="iMeiList" item="iMeiList" open="(" close=")" separator=",">
#{iMeiList}
</foreach>
</if>
order by A.create_time desc
</select>
</mapper>
Loading…
Cancel
Save