Эх сурвалжийг харах

适配最新的core-security修改,演示加解密服务和配置文件加密

luoshi 1 жил өмнө
parent
commit
b5d20fa7d7

+ 34 - 0
api-demo/src/main/java/com/qmth/demo/api/controller/EncryptController.java

@@ -0,0 +1,34 @@
+package com.qmth.demo.api.controller;
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.boot.core.security.service.EncryptService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/encrypt")
+@Aac(strict = false, auth = false)
+public class EncryptController {
+
+    @Resource
+    private EncryptService encryptService;
+
+    @RequestMapping("/encrypt")
+    public Object encrypt(@RequestParam String text) {
+        return encryptService.encrypt(text);
+    }
+
+    @RequestMapping("/decrypt")
+    public Object decrypt(@RequestParam String text) {
+        return encryptService.decrypt(text);
+    }
+
+    @RequestMapping("/hash")
+    public Object hash(@RequestParam String text) {
+        return encryptService.hash(text);
+    }
+}

+ 14 - 0
api-demo/src/main/java/com/qmth/demo/api/controller/UserController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.demo.api.db.*;
+import com.qmth.demo.api.service.DemoLockService;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -21,6 +22,9 @@ public class UserController {
     @Resource
     private UserMapper userMapper;
 
+    @Resource
+    private DemoLockService demoLockService;
+
     @RequestMapping("/list")
     public Object list(@Validated UserQuery query) {
         return userMapper.findByEnable(query.getEnable() != null ? query.getEnable() : true);
@@ -53,4 +57,14 @@ public class UserController {
         userMapper.insert(u);
         return u;
     }
+
+    @RequestMapping("/lock/add")
+    public Object lockAdd(@RequestParam String name, @RequestParam Gender gender) {
+        User u = new User();
+        u.setName(name);
+        u.setGender(gender);
+        u.setEnable(true);
+        demoLockService.insert(u);
+        return userMapper.findByName(name);
+    }
 }

+ 4 - 0
api-demo/src/main/java/com/qmth/demo/api/db/UserMapper.java

@@ -14,4 +14,8 @@ public interface UserMapper extends BaseMapper<User> {
     @ResultMap("mybatis-plus_User")
     @Select("select * from user where enable=#{enable}")
     List<User> findByEnable(boolean enable);
+
+    @ResultMap("mybatis-plus_User")
+    @Select("select * from user where name like concat(#{name},'%')")
+    List<User> findByName(String name);
 }

+ 19 - 0
api-demo/src/main/java/com/qmth/demo/api/event/TestEvent.java

@@ -0,0 +1,19 @@
+package com.qmth.demo.api.event;
+
+import org.springframework.context.ApplicationEvent;
+
+public class TestEvent extends ApplicationEvent {
+
+    private static final long serialVersionUID = -2872027289482996296L;
+
+    private String name;
+
+    public TestEvent(String name, Object source) {
+        super(source);
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+}

+ 28 - 0
api-demo/src/main/java/com/qmth/demo/api/service/DemoEventService.java

@@ -0,0 +1,28 @@
+package com.qmth.demo.api.service;
+
+import com.qmth.demo.api.db.Gender;
+import com.qmth.demo.api.db.User;
+import com.qmth.demo.api.db.UserMapper;
+import com.qmth.demo.api.event.TestEvent;
+import org.springframework.context.event.EventListener;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+@Service
+public class DemoEventService {
+
+    @Resource
+    private UserMapper userMapper;
+
+    @EventListener
+    @Transactional
+    public void onTestEvent(TestEvent event) {
+        User user = new User();
+        user.setName(event.getName());
+        user.setGender(Gender.MALE);
+        user.setEnable(true);
+        userMapper.insert(user);
+    }
+}

+ 23 - 0
api-demo/src/main/java/com/qmth/demo/api/service/DemoLockService.java

@@ -0,0 +1,23 @@
+package com.qmth.demo.api.service;
+
+import com.qmth.boot.core.concurrent.annotation.Lockable;
+import com.qmth.demo.api.db.User;
+import com.qmth.demo.api.db.UserMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+@Service
+public class DemoLockService {
+
+    @Resource
+    private UserMapper userMapper;
+
+    @Lockable(name = "user", key = "#user.name")
+    @Transactional
+    public User insert(User user) {
+        userMapper.insert(user);
+        return user;
+    }
+}

+ 4 - 1
api-demo/src/main/resources/application.properties

@@ -16,7 +16,8 @@ com.qmth.auth.time-max-ahead=10s
 
 com.qmth.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
 com.qmth.datasource.username=root
-com.qmth.datasource.password=root
+#com.qmth.datasource.password=root
+com.qmth.datasource.password=ENC(c8fae3257c749aeb2e90406ad8d938a0)
 com.qmth.mybatis.log-level=debug
 
 com.qmth.cache.allow-null-value=false
@@ -31,6 +32,7 @@ com.qmth.fss.server=https://server.com
 
 ##solar online
 #com.qmth.solar.server=http://localhost:8090
+#com.qmth.solar.app-code=ops
 com.qmth.solar.accessKey=58ef80b17e634be5a4da615eddf00287
 com.qmth.solar.accessSecret=nujVkeIsWKIfRTvL3g4JzomKZ7qbhH1k
 
@@ -40,3 +42,4 @@ com.qmth.solar.accessSecret=nujVkeIsWKIfRTvL3g4JzomKZ7qbhH1k
 ##sms
 #com.qmth.sms.server=http://localhost:8090
 
+#com.qmth.lock.log-level=debug

+ 1 - 1
api-demo/src/main/resources/mapper/UserMapper.xml

@@ -4,7 +4,7 @@
 
     <!--MybatisPlus内置规则,开启autoResultMap后,名称为mybatis-plus_XXX-->
     <select id="findByQuery" resultMap="mybatis-plus_User">
-        select * from temp_user
+        select * from user
         <where>
             <if test="name != null">
                 and `name` like concat(#{name},'%')