fzzj пре 9 месеци
родитељ
комит
844380229c
18 измењених фајлова са 154 додато и 60 уклоњено
  1. 4
    1
      RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml
  2. 9
    0
      RuoYi-Vue/ruoyi-admin/src/main/resources/application.yml
  3. 4
    2
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/config/ScheduledTasks.java
  4. 9
    8
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/controller/NovelAdController.java
  5. 3
    3
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/controller/NovelController.java
  6. 3
    2
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/controller/NovelVoteController.java
  7. 0
    15
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/AdService.java
  8. 5
    0
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/IAdService.java
  9. 16
    16
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/IVoteService.java
  10. 6
    0
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/impl/AdServiceImpl.java
  11. 4
    2
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/impl/FinanceServiceImpl.java
  12. 1
    1
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/impl/NovelSearchServiceImpl.java
  13. 10
    2
      RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/utils/AdPlatformClient.java
  14. 8
    1
      RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/AdLogMapper.xml
  15. 29
    0
      RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/AdPlatformConfigMapper.xml
  16. 30
    0
      RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/NovelMapper.xml
  17. 4
    1
      RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/RoyaltySummaryMapper.xml
  18. 9
    6
      RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/VoteRecordMapper.xml

+ 4
- 1
RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml Прегледај датотеку

58
                     merge-sql: true
58
                     merge-sql: true
59
                 wall:
59
                 wall:
60
                     config:
60
                     config:
61
-                        multi-statement-allow: true
61
+                        multi-statement-allow: true
62
+            remove-abandoned: true
63
+            remove-abandoned-timeout: 300  # 5分钟无操作视为泄露
64
+            log-abandoned: true

+ 9
- 0
RuoYi-Vue/ruoyi-admin/src/main/resources/application.yml Прегледај датотеку

110
     pangle:
110
     pangle:
111
       url: https://ad.pangle.com/api/v1/event
111
       url: https://ad.pangle.com/api/v1/event
112
       auth-token: your_pangle_token
112
       auth-token: your_pangle_token
113
+  tencent:
114
+    url: https://your-tencent-ad-url.com/api  # 替换为实际的腾讯广告URL
115
+    key: your_tencent_key                     # 替换为实际的腾讯广告密钥
116
+  pangle:
117
+    url: https://your-pangle-ad-url.com/api   # 替换为实际的Pangle广告URL
118
+    key: your_pangle_key                      # 替换为实际的Pangle广告密钥
113
 # DeepSeek AI配置
119
 # DeepSeek AI配置
114
 deepseek:
120
 deepseek:
115
   api:
121
   api:
177
   excludes: /system/notice
183
   excludes: /system/notice
178
   # 匹配链接
184
   # 匹配链接
179
   urlPatterns: /system/*,/monitor/*,/tool/*
185
   urlPatterns: /system/*,/monitor/*,/tool/*
186
+# application.yml(或 application-dev.yml)
187
+scheduled:
188
+  ad-retry-interval: 30000  # 单位:毫秒,示例值30秒,按需调整

+ 4
- 2
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/config/ScheduledTasks.java Прегледај датотеку

2
 
2
 
3
 import com.ruoyi.novel.service.IAdService;
3
 import com.ruoyi.novel.service.IAdService;
4
 import com.ruoyi.novel.service.IFinanceService;
4
 import com.ruoyi.novel.service.IFinanceService;
5
-import com.ruoyi.novel.service.IVoteService;
5
+import com.ruoyi.novel.service.VoteService;
6
 import org.slf4j.Logger;
6
 import org.slf4j.Logger;
7
 import org.slf4j.LoggerFactory;
7
 import org.slf4j.LoggerFactory;
8
 import org.springframework.beans.factory.annotation.Autowired;
8
 import org.springframework.beans.factory.annotation.Autowired;
9
+import org.springframework.beans.factory.annotation.Qualifier;
9
 import org.springframework.context.annotation.Configuration;
10
 import org.springframework.context.annotation.Configuration;
10
 import org.springframework.scheduling.annotation.EnableScheduling;
11
 import org.springframework.scheduling.annotation.EnableScheduling;
11
 import org.springframework.scheduling.annotation.Scheduled;
12
 import org.springframework.scheduling.annotation.Scheduled;
17
 public class ScheduledTasks {
18
 public class ScheduledTasks {
18
     private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
19
     private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
19
     @Autowired
20
     @Autowired
21
+    @Qualifier("adServiceImpl")  // 明确指定实现
20
     private IAdService adService;
22
     private IAdService adService;
21
 
23
 
22
     @Autowired
24
     @Autowired
23
-    private IVoteService voteService;
25
+    private VoteService voteService;
24
 
26
 
25
     @Autowired
27
     @Autowired
26
     private IFinanceService financeService;
28
     private IFinanceService financeService;

+ 9
- 8
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/controller/NovelAdController.java Прегледај датотеку

3
 
3
 
4
 import com.ruoyi.common.core.domain.AjaxResult;
4
 import com.ruoyi.common.core.domain.AjaxResult;
5
 import com.ruoyi.novel.domain.AdCountRequest;
5
 import com.ruoyi.novel.domain.AdCountRequest;
6
-import com.ruoyi.novel.service.AdService;
6
+import com.ruoyi.novel.service.IAdService;
7
 import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.beans.factory.annotation.Autowired;
8
+import org.springframework.beans.factory.annotation.Qualifier;
8
 import org.springframework.data.redis.core.RedisTemplate;
9
 import org.springframework.data.redis.core.RedisTemplate;
9
 import org.springframework.http.HttpStatus;
10
 import org.springframework.http.HttpStatus;
10
 import org.springframework.http.ResponseEntity;
11
 import org.springframework.http.ResponseEntity;
18
 @RequestMapping("/ad")
19
 @RequestMapping("/ad")
19
 public class NovelAdController {
20
 public class NovelAdController {
20
 
21
 
21
-    private final AdService adService;
22
+    private final IAdService iAdService;
22
     private final RedisTemplate<String, String> redisTemplate;
23
     private final RedisTemplate<String, String> redisTemplate;
23
-
24
+    // 明确指定实现
24
     @Autowired
25
     @Autowired
25
-    public NovelAdController(AdService adService, RedisTemplate<String, String> redisTemplate) {
26
-        this.adService = adService;
26
+    public NovelAdController(@Qualifier("adServiceImpl") IAdService iAdService, RedisTemplate<String, String> redisTemplate) {
27
+        this.iAdService = iAdService;
27
         this.redisTemplate = redisTemplate;
28
         this.redisTemplate = redisTemplate;
28
     }
29
     }
29
 
30
 
49
         }
50
         }
50
 
51
 
51
         // 记录广告
52
         // 记录广告
52
-        adService.logAdView(
53
+        iAdService.logAdView(
53
                 userId,
54
                 userId,
54
                 request.getChapterId(),
55
                 request.getChapterId(),
55
                 request.getAdType(),
56
                 request.getAdType(),
61
 
62
 
62
         return ResponseEntity.ok("Ad counted");
63
         return ResponseEntity.ok("Ad counted");
63
     }
64
     }
64
-    @PostMapping("/count")
65
+    @PostMapping("/log")
65
     public AjaxResult logAdView(@RequestBody AdCountRequest request) {
66
     public AjaxResult logAdView(@RequestBody AdCountRequest request) {
66
-        adService.logAdView(request);
67
+        iAdService.logAdView(request);
67
         return AjaxResult.success("广告计数成功");
68
         return AjaxResult.success("广告计数成功");
68
     }
69
     }
69
     private String resolveUserId(AdCountRequest request, String phpSessionId) {
70
     private String resolveUserId(AdCountRequest request, String phpSessionId) {

+ 3
- 3
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/controller/NovelController.java Прегледај датотеку

33
         List<Novel> list = novelService.selectNovelList(novel);
33
         List<Novel> list = novelService.selectNovelList(novel);
34
         return getDataTable(list);
34
         return getDataTable(list);
35
     }
35
     }
36
-
37
-    @PostMapping
36
+    @PostMapping("/add")
38
     public AjaxResult add(@RequestBody Novel novel) {
37
     public AjaxResult add(@RequestBody Novel novel) {
39
         return toAjax(novelService.insertNovel(novel));
38
         return toAjax(novelService.insertNovel(novel));
40
     }
39
     }
69
         return AjaxResult.success(novels);
68
         return AjaxResult.success(novels);
70
     }
69
     }
71
 
70
 
72
-    @PostMapping
71
+
72
+    @PostMapping("/create")
73
     public AjaxResult addNovel(@RequestBody Novel novel) {
73
     public AjaxResult addNovel(@RequestBody Novel novel) {
74
         novelMapper.insert(novel);
74
         novelMapper.insert(novel);
75
         searchService.indexNovel(novel); // 创建索引
75
         searchService.indexNovel(novel); // 创建索引

+ 3
- 2
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/controller/NovelVoteController.java Прегледај датотеку

3
 import com.google.common.util.concurrent.RateLimiter;
3
 import com.google.common.util.concurrent.RateLimiter;
4
 import com.ruoyi.common.core.domain.AjaxResult;
4
 import com.ruoyi.common.core.domain.AjaxResult;
5
 import com.ruoyi.novel.domain.VoteRequest;
5
 import com.ruoyi.novel.domain.VoteRequest;
6
-import com.ruoyi.novel.service.IVoteService;
6
+//import com.ruoyi.novel.service.IVoteService;
7
+import com.ruoyi.novel.service.VoteService;
7
 import org.springframework.beans.factory.annotation.Autowired;
8
 import org.springframework.beans.factory.annotation.Autowired;
8
 import org.springframework.web.bind.annotation.PostMapping;
9
 import org.springframework.web.bind.annotation.PostMapping;
9
 import org.springframework.web.bind.annotation.RequestBody;
10
 import org.springframework.web.bind.annotation.RequestBody;
19
 public class NovelVoteController {
20
 public class NovelVoteController {
20
 
21
 
21
     @Autowired
22
     @Autowired
22
-    private IVoteService voteService;
23
+    private VoteService voteService;
23
 
24
 
24
     // 使用Guava RateLimiter限制投票频率
25
     // 使用Guava RateLimiter限制投票频率
25
     private static final ConcurrentHashMap<Long, RateLimiter> userRateLimiters = new ConcurrentHashMap<>();
26
     private static final ConcurrentHashMap<Long, RateLimiter> userRateLimiters = new ConcurrentHashMap<>();

+ 0
- 15
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/AdService.java Прегледај датотеку

1
-package com.ruoyi.novel.service;
2
-
3
-import com.ruoyi.novel.domain.AdCountRequest;
4
-import com.ruoyi.novel.domain.AdLog;
5
-import org.springframework.stereotype.Service;
6
-
7
-import java.util.List;
8
-@Service
9
-// AdService.java
10
-public interface AdService {
11
-    void logAdView(AdCountRequest request);
12
-    List<AdLog> getAdLogsByUser(Long userId);
13
-
14
-    void logAdView(String userId, Long chapterId, String adType, String source);
15
-}

+ 5
- 0
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/IAdService.java Прегледај датотеку

19
     void syncWithAdPlatform(AdLog adLog);
19
     void syncWithAdPlatform(AdLog adLog);
20
     void retryFailedSyncs();
20
     void retryFailedSyncs();
21
     Map<String, AdPlatformConfig> loadAdConfigs();
21
     Map<String, AdPlatformConfig> loadAdConfigs();
22
+
23
+//    void logAdView(AdCountRequest request);
24
+//    List<AdLog> getAdLogsByUser(Long userId);
25
+
26
+    void logAdView(String userId, Long chapterId, String adType, String source);
22
 }
27
 }

+ 16
- 16
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/IVoteService.java Прегледај датотеку

1
-package com.ruoyi.novel.service;
2
-
3
-import com.ruoyi.novel.domain.VoteRecord;
4
-import com.ruoyi.novel.domain.VoteRequest;
5
-
6
-// IVoteService.java
7
-public interface IVoteService {
8
-    String processVote(VoteRequest request);
9
-    void generateStoryContent(VoteRecord record);
10
-    void notifyPhpSystem(VoteRecord record);
11
-    void retryFailedNotifications();
12
-
13
-    void notifyPhpSystem(VoteRequest request, String generatedContent);
14
-
15
-    String generateStoryContent(Long storyId, Long optionId);
16
-}
1
+//package com.ruoyi.novel.service;
2
+//
3
+//import com.ruoyi.novel.domain.VoteRecord;
4
+//import com.ruoyi.novel.domain.VoteRequest;
5
+//
6
+//// IVoteService.java
7
+//public interface IVoteService {
8
+//    String processVote(VoteRequest request);
9
+//    void generateStoryContent(VoteRecord record);
10
+//    void notifyPhpSystem(VoteRecord record);
11
+//    void retryFailedNotifications();
12
+//
13
+//    void notifyPhpSystem(VoteRequest request, String generatedContent);
14
+//
15
+//    String generateStoryContent(Long storyId, Long optionId);
16
+//}

+ 6
- 0
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/impl/AdServiceImpl.java Прегледај датотеку

93
         }
93
         }
94
         return adConfigCache;
94
         return adConfigCache;
95
     }
95
     }
96
+
97
+    @Override
98
+    public void logAdView(String userId, Long chapterId, String adType, String source) {
99
+
100
+    }
101
+
96
     @Override
102
     @Override
97
     public void logAdView(AdCountRequest request) {
103
     public void logAdView(AdCountRequest request) {
98
         AdLog log = new AdLog();
104
         AdLog log = new AdLog();

+ 4
- 2
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/impl/FinanceServiceImpl.java Прегледај датотеку

12
 import org.slf4j.Logger;
12
 import org.slf4j.Logger;
13
 import org.slf4j.LoggerFactory;
13
 import org.slf4j.LoggerFactory;
14
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.beans.factory.annotation.Autowired;
15
+import org.springframework.beans.factory.annotation.Qualifier;
15
 import org.springframework.beans.factory.annotation.Value;
16
 import org.springframework.beans.factory.annotation.Value;
16
 import org.springframework.http.*;
17
 import org.springframework.http.*;
17
 import org.springframework.scheduling.annotation.Scheduled;
18
 import org.springframework.scheduling.annotation.Scheduled;
33
 
34
 
34
     @Value("${handling.fee.rate:0.05}")
35
     @Value("${handling.fee.rate:0.05}")
35
     private BigDecimal handlingFeeRate;
36
     private BigDecimal handlingFeeRate;
36
-    @Value("${royalty.rate}")
37
-    private BigDecimal royaltyRate;
37
+//    @Value("${royalty.rate}")
38
+//    private BigDecimal royaltyRate;
38
     // 添加配置项注入
39
     // 添加配置项注入
39
     @Value("${php.data.url}")
40
     @Value("${php.data.url}")
40
     private String phpDataUrl;
41
     private String phpDataUrl;
43
     private AdLogMapper adLogMapper; // 确保已注入
44
     private AdLogMapper adLogMapper; // 确保已注入
44
 
45
 
45
     @Autowired
46
     @Autowired
47
+    @Qualifier("adServiceImpl")  // 明确指定实现
46
     private IAdService adService; // 确保已注入
48
     private IAdService adService; // 确保已注入
47
 
49
 
48
     //@Value("${handling.fee.rate}")
50
     //@Value("${handling.fee.rate}")

+ 1
- 1
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/service/impl/NovelSearchServiceImpl.java Прегледај датотеку

35
 
35
 
36
     private static final String INDEX_NAME = "novels";
36
     private static final String INDEX_NAME = "novels";
37
 
37
 
38
-    @PostConstruct
38
+//    @PostConstruct
39
     public void createIndexIfNotExists() {
39
     public void createIndexIfNotExists() {
40
         IndexOperations indexOps = elasticTemplate.indexOps(IndexCoordinates.of(INDEX_NAME));
40
         IndexOperations indexOps = elasticTemplate.indexOps(IndexCoordinates.of(INDEX_NAME));
41
         if (!indexOps.exists()) {
41
         if (!indexOps.exists()) {

+ 10
- 2
RuoYi-Vue/ruoyi-system/src/main/java/com/ruoyi/novel/utils/AdPlatformClient.java Прегледај датотеку

15
 import org.springframework.http.*;
15
 import org.springframework.http.*;
16
 import org.springframework.stereotype.Component;
16
 import org.springframework.stereotype.Component;
17
 import org.springframework.web.client.RestTemplate;
17
 import org.springframework.web.client.RestTemplate;
18
+
19
+import javax.annotation.PostConstruct;
18
 import java.util.HashMap;
20
 import java.util.HashMap;
19
 import java.util.Map;
21
 import java.util.Map;
20
 
22
 
29
 
31
 
30
     @Autowired
32
     @Autowired
31
     private RestTemplate restTemplate;
33
     private RestTemplate restTemplate;
32
-    @Value("${ad.tencent.url}")
34
+    // 设置默认值为空字符串
35
+    @Value("${ad.tencent.url:}")
33
     private String tencentUrl;
36
     private String tencentUrl;
34
 
37
 
35
-    @Value("${ad.pangle.url}")
38
+    @Value("${ad.pangle.url:}")
36
     private String pangleUrl;
39
     private String pangleUrl;
40
+    @PostConstruct
41
+    public void init() {
42
+        logger.info("腾讯广告URL: {}", tencentUrl);
43
+        logger.info("Pangle广告URL: {}", pangleUrl);
44
+    }
37
     public void syncAdPlatform(AdLog adLog) {
45
     public void syncAdPlatform(AdLog adLog) {
38
         Map<String, AdPlatformConfig> configs = iAdService.loadAdConfigs();
46
         Map<String, AdPlatformConfig> configs = iAdService.loadAdConfigs();
39
         AdPlatformConfig config = configs.get(adLog.getAdPlatform());
47
         AdPlatformConfig config = configs.get(adLog.getAdPlatform());

+ 8
- 1
RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/AdLogMapper.xml Прегледај датотеку

1
-<!-- AdLogMapper.xml -->
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <mapper namespace="com.ruoyi.novel.mapper.AdLogMapper">
5
 <mapper namespace="com.ruoyi.novel.mapper.AdLogMapper">
3
 
6
 
4
     <resultMap id="AdLogResult" type="AdLog">
7
     <resultMap id="AdLogResult" type="AdLog">
24
             #{id}
27
             #{id}
25
         </foreach>
28
         </foreach>
26
     </update>
29
     </update>
30
+    <select id="selectList" resultMap="AdLogResult">
31
+        SELECT * FROM novel_ad_log
32
+        <!-- 按需添加WHERE条件 -->
33
+    </select>
27
 </mapper>
34
 </mapper>

+ 29
- 0
RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/AdPlatformConfigMapper.xml Прегледај датотеку

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
3
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
4
+<mapper namespace="com.ruoyi.novel.mapper.AdPlatformConfigMapper">
5
+
6
+    <resultMap type="AdPlatformConfig" id="AdPlatformConfigResult">
7
+        <!-- 定义字段映射 -->
8
+    </resultMap>
9
+
10
+    <select id="selectList" resultMap="AdPlatformConfigResult">
11
+        SELECT * FROM novel_ad_config
12
+    </select>
13
+    <!-- 添加 insert 语句 -->
14
+    <insert id="insert" parameterType="com.ruoyi.novel.domain.AdPlatformConfig">
15
+        INSERT INTO novel_ad_config (
16
+            platform_code,
17
+            platform_name,
18
+            api_url,
19
+            auth_token,
20
+            params_template
21
+        ) VALUES (
22
+            #{platformCode},
23
+            #{platformName},
24
+            #{apiUrl},
25
+            #{authToken},
26
+            #{paramsTemplate}
27
+        )
28
+    </insert>
29
+</mapper>

+ 30
- 0
RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/NovelMapper.xml Прегледај датотеку

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.ruoyi.novel.mapper.NovelMapper">
4
+
5
+    <!-- 基础字段映射 -->
6
+    <resultMap type="Novel" id="NovelResult">
7
+        <id     property="id"      column="id"      />
8
+        <result property="title"        column="title"         />
9
+        <result property="author"       column="author"        />
10
+        <result property="categoryId"   column="category_id"   />
11
+        <result property="coverImg"   column="cover_img"   />
12
+        <result property="description"  column="description"   />
13
+        <result property="status"       column="status"        />
14
+        <result property="wordCount"    column="word_count"    />
15
+        <result property="readCount"    column="word_count"    />
16
+        <result property="createTime"   column="create_time"   />
17
+        <result property="updateTime"   column="update_time"   />
18
+    </resultMap>
19
+
20
+    <!-- 基础字段列表 -->
21
+    <sql id="selectNovelVo">
22
+        select
23
+            id, title, author, category_id, cover_img, description,
24
+            status, word_count, readCount,create_time, update_time
25
+        from novel
26
+    </sql>
27
+    <select id="selectList" resultMap="NovelResult">
28
+        SELECT * FROM novel
29
+    </select>
30
+</mapper>

+ 4
- 1
RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/RoyaltySummaryMapper.xml Прегледај датотеку

1
-<!-- RoyaltySummaryMapper.xml -->
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <mapper namespace="com.ruoyi.novel.mapper.RoyaltySummaryMapper">
5
 <mapper namespace="com.ruoyi.novel.mapper.RoyaltySummaryMapper">
3
 
6
 
4
     <resultMap id="RoyaltySummaryResult" type="RoyaltySummary">
7
     <resultMap id="RoyaltySummaryResult" type="RoyaltySummary">

+ 9
- 6
RuoYi-Vue/ruoyi-system/src/main/resources/mapper/novel/VoteRecordMapper.xml Прегледај датотеку

1
-<!-- VoteRecordMapper.xml -->
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <mapper namespace="com.ruoyi.novel.mapper.VoteRecordMapper">
5
 <mapper namespace="com.ruoyi.novel.mapper.VoteRecordMapper">
3
 
6
 
4
     <resultMap id="VoteRecordResult" type="VoteRecord">
7
     <resultMap id="VoteRecordResult" type="VoteRecord">
18
         WHERE id = #{optionId}
21
         WHERE id = #{optionId}
19
     </update>
22
     </update>
20
 
23
 
21
-    <update id="updateNotifyStatus">
22
-        UPDATE novel_vote_log
23
-        SET notify_status = #{status}
24
-        WHERE id = #{id}
25
-    </update>
24
+<!--    <update id="updateNotifyStatus">-->
25
+<!--        UPDATE novel_vote_log-->
26
+<!--        SET notify_status = #{status}-->
27
+<!--        WHERE id = #{id}-->
28
+<!--    </update>-->
26
 </mapper>
29
 </mapper>

Loading…
Откажи
Сачувај