Browse Source

分享相关功能及优化

liaoyitao 3 months ago
parent
commit
73775411c1

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
10 10
     </parent>
11 11
     <groupId>com.lqkj</groupId>
12 12
     <artifactId>link</artifactId>
13
-    <version>1.0.0</version>
13
+    <version>2.0.0</version>
14 14
     <name>LINK-SERVER</name>
15 15
     <description>LINK-SERVER</description>
16 16
     <properties>

+ 1 - 0
src/main/java/com/lqkj/link/message/MessageBean.java

@@ -37,6 +37,7 @@ public class MessageBean<T> extends MessageBaseBean implements Serializable {
37 37
     public static <T> MessageBean<T> ok() {
38 38
         MessageBean<T> messageBean = new MessageBean<>();
39 39
         messageBean.setStatus(true);
40
+        messageBean.setCode(200);
40 41
         return messageBean;
41 42
     }
42 43
 

+ 3 - 2
src/main/java/com/lqkj/link/module/authority/repository/UserInfoRepository.java

@@ -121,8 +121,9 @@ public interface UserInfoRepository extends JpaRepository<UserInfo, Integer> {
121 121
 
122 122
 
123 123
     @Query(nativeQuery = true,
124
-            value = "SELECT ui.*, si.share_type FROM user_info ui " +
125
-                    "LEFT JOIN share_info si on si.user_id = ui.user_id or si.shared_user_id = ui.user_id " +
124
+            value = "SELECT ui.user_id, REGEXP_REPLACE(ui.user_code, '^(\\d{3})(\\d{4})(\\d+)$', '\\1****\\3') as user_code, " +
125
+                    "ui.display_name, si.share_type FROM user_info ui " +
126
+                    "LEFT JOIN share_info si on si.shared_user_id = ui.user_id " +
126 127
                     "WHERE si.zone_id = ?1"
127 128
     )
128 129
     List<Map<String, Object>> viewShareUser(Integer zoneId);

+ 16 - 0
src/main/java/com/lqkj/link/module/zone/controller/ZoneInfoController.java

@@ -452,6 +452,22 @@ public class ZoneInfoController {
452 452
         return MessageBean.ok(zoneInfoService.zoneDetails(zoneId), "作品详情");
453 453
     }
454 454
 
455
+    @Operation(
456
+            summary = "修改分享类型",
457
+            description = "修改分享类型",
458
+            parameters = {
459
+            @Parameter(name = "zoneId", description = "作品ID", required = true),
460
+            @Parameter(name = "shareType", description = "分享类型", required = true)
461
+            }
462
+    )
463
+    @PostMapping("/updateShareType")
464
+    public MessageBean<String> updateShareType(@RequestParam Integer zoneId,
465
+                                              @RequestParam Integer shareType,
466
+                                               @RequestParam Integer sharedUserId) {
467
+        zoneInfoService.updateShareType(zoneId, shareType, sharedUserId);
468
+        return MessageBean.ok();
469
+    }
470
+
455 471
 
456 472
 
457 473
 

+ 6 - 0
src/main/java/com/lqkj/link/module/zone/repository/ShareInfoRepository.java

@@ -45,4 +45,10 @@ public interface ShareInfoRepository extends JpaRepository<ShareInfo, Integer> {
45 45
             value = "UPDATE share_info SET share_time = NOW(), accept_status = null, share_type = ?3 WHERE zone_id = ?1 AND shared_user_id = ?2"
46 46
     )
47 47
     void updateShareTime(Integer zoneId, Integer userId, Integer shareType);
48
+
49
+    @Modifying
50
+    @Query(nativeQuery = true,
51
+            value = "UPDATE share_info SET share_type = ?2 WHERE zone_id = ?1 and shared_user_id = ?3"
52
+    )
53
+    void updateShareType(Integer zoneId, Integer shareType, Integer sharedUserId);
48 54
 }

+ 7 - 6
src/main/java/com/lqkj/link/module/zone/service/ZoneInfoService.java

@@ -515,12 +515,8 @@ public class ZoneInfoService {
515 515
      * @return
516 516
      */
517 517
     public List<Map<String, Object>> viewShareUser(Integer zoneId) {
518
-        var map = userInfoRepository.viewShareUser(zoneId);
519
-        return map.stream().map(m -> {
520
-            var mutableMap = new HashMap<>(m);
521
-            mutableMap.put("user_code", PhoneUtils.encryptPhoneNumber((String) mutableMap.get("user_code")));
522
-            return mutableMap;
523
-        }).collect(Collectors.toList());
518
+
519
+        return userInfoRepository.viewShareUser(zoneId);
524 520
     }
525 521
     public List<Map<String, Object>> getSpawnPointList(Integer zoneId) {
526 522
         List<Map<String, Object>> spawnPointList = zoneInfoRepository.getSpawnPointList(zoneId);
@@ -543,4 +539,9 @@ public class ZoneInfoService {
543 539
     public ZoneInfo zoneDetails(Integer zoneId) {
544 540
         return zoneInfoRepository.findById(zoneId).get();
545 541
     }
542
+
543
+    @Transactional
544
+    public void updateShareType(Integer zoneId, Integer shareType, Integer sharedUserId) {
545
+        shareInfoRepository.updateShareType(zoneId, shareType, sharedUserId);
546
+    }
546 547
 }

+ 1 - 1
src/main/java/com/lqkj/link/util/PhoneUtils.java

@@ -11,7 +11,7 @@ public class PhoneUtils {
11 11
     public static String encryptPhoneNumber(String phoneNumber) {
12 12
         // 检查手机号长度是否为11位i
13 13
         if ("meta-link".equals(phoneNumber)) return phoneNumber;
14
-        if (phoneNumber == null || phoneNumber.length() != 11) {
14
+        if (phoneNumber == null) {
15 15
             throw new IllegalArgumentException("手机号长度不正确");
16 16
         }
17 17
 

+ 5 - 0
src/main/resources/db/migration/V11__2.0.6.sql

@@ -1,4 +1,9 @@
1 1
 
2
+
3
+ALTER TABLE share_info
4
+    add COLUMN if not exists share_type int;
5
+comment on column share_info.share_type is '分享类型 1:可查看 2:可编辑';
6
+
2 7
 create table if not exists texture_info
3 8
 (
4 9
     texture_id      SERIAL             not null,