jaikuai 3 anni fa
parent
commit
01ad14c624

+ 45 - 0
.drone.yml

@@ -0,0 +1,45 @@
+kind: pipeline
+name: default
+
+steps:
+  - name: restore-cache
+    image: drillster/drone-volume-cache
+    volumes:
+      - name: cache
+        path: /cache
+    settings:
+      restore: true
+      mount:
+        - .m2
+
+  - name: build
+    image: maven
+    pull: false
+    commands:
+      - mvn install -Dmaven.repo.local=/drone/src/.m2/repository -Dmaven.test.skip=true package
+
+  - name: rebuild-cache
+    image: drillster/drone-volume-cache
+    volumes:
+      - name: cache
+        path: /cache
+    settings:
+      rebuild: true
+      mount:
+        - .m2
+  - name: docker
+    image: plugins/docker
+    settings:
+      tags:
+        - latest
+        - 1.1.${DRONE_BUILD_NUMBER}
+      registry: rpi.it5000.com:5000
+      insecure: true
+      repo: 192.168.0.133:5000/pdms-oss-api
+      mount:
+        - /var/lib/docker
+
+volumes:
+  - name: cache
+    host:
+      path: C:\Users\zhl\drone\drone\cache

+ 7 - 0
Dockerfile

@@ -0,0 +1,7 @@
+FROM rpi.it5000.com:5000/java:8-jre-alpine
+
+ENV PRO_NAME=pdms-oss PRO_ENV=dev TZ="Asia/Shanghai"
+
+ADD ./target/pdms-oss-api-0.0.1-SNAPSHOT.jar /home/App.jar
+
+CMD ["/bin/sh","-c","/usr/bin/java -server -jar /home/App.jar --spring.profiles.active=${PRO_ENV} --spring.application.name=${PRO_NAME}"]

+ 29 - 0
src/main/java/cn/fastfun/config/TokenConfig.java

@@ -0,0 +1,29 @@
+package cn.fastfun.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+
+
+@Configuration
+public class TokenConfig extends WebMvcConfigurationSupport {
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(new TokenInterceptor())
+                .addPathPatterns("/api/**")
+//                .excludePathPatterns("/api/user/login", "/api/user/logout", "/api/map/**")
+//                .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**")
+//                .excludePathPatterns("/static/**")
+//                .excludePathPatterns("/open/**")
+                .excludePathPatterns("/api/user/**");
+    }
+
+    @Override
+    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
+        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
+        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
+        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
+        super.addResourceHandlers(registry);
+    }
+}

+ 20 - 0
src/main/java/cn/fastfun/config/TokenInterceptor.java

@@ -0,0 +1,20 @@
+package cn.fastfun.config;
+
+import com.bridge.exception.ApiRuntimeException;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+@Component
+public class TokenInterceptor implements HandlerInterceptor {
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+        if (null == request.getHeader("X-Token")) {
+            throw new ApiRuntimeException(501, "请先登录再调用");
+        }
+        return true;
+    }
+}

+ 55 - 0
src/main/java/cn/fastfun/controller/api/UserController.java

@@ -0,0 +1,55 @@
+package cn.fastfun.controller.api;
+
+import cn.fastfun.controller.param.LoginParam;
+import cn.fastfun.service.UtilService;
+import cn.fastfun.service.entity.SysUser;
+import com.bridge.dto.ApiDTO;
+import com.bridge.service.JpaService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.DigestUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.annotation.Validated;
+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;
+
+@Api(tags = {"1.1 系统登录"})
+@RestController
+@RequestMapping("/api/user")
+public class UserController {
+
+    @Autowired
+    JpaService<SysUser, String> sysUserService;
+
+    @Autowired
+    UtilService utilService;
+
+    @ApiOperation(value = "账号登录")
+    @PostMapping("login")
+    public ApiDTO login(@Validated @RequestBody LoginParam param, BindingResult result) {
+        // 效验字段
+        if (result.hasErrors())
+            return ApiDTO.error(result);
+        return utilService.login(param.getUserName(), DigestUtils.md5DigestAsHex(param.getUserPass().getBytes()));
+    }
+
+    @ApiOperation(value = "账号注销")
+    @PostMapping("logout")
+    public ApiDTO logout() {
+        try {
+            utilService.clearLoginUser(utilService.getUserId());
+        } catch (Exception e) {
+
+        }
+        return ApiDTO.ok(null);
+    }
+
+    @ApiOperation(value = "获取账号信息")
+    @PostMapping("info")
+    public ApiDTO getUser() {
+        return ApiDTO.ok("获取用户信息", utilService.getUser());
+    }
+}

+ 0 - 2
src/main/java/cn/fastfun/controller/param/LoginParam.java

@@ -24,6 +24,4 @@ public class LoginParam {
     @ApiModelProperty(value = "密码", name = "userPass", example = "111111")
     private String userPass;
 
-    @ApiModelProperty(value = "验证码", name = "code", example = "abc4")
-    private String code;
 }