Browse Source

订阅数量

zxy 1 năm trước cách đây
mục cha
commit
da5b753a07

+ 27 - 0
nngkxxdp/src/main/java/com/example/nngkxxdp/program/controller/SubscribeController.java

@@ -0,0 +1,27 @@
+package com.example.nngkxxdp.program.controller;
+
+import com.example.nngkxxdp.program.dao.SubscribeNumberDao;
+import com.example.nngkxxdp.util.SendUtil;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/mini")
+public class SubscribeController {
+
+    @Resource
+    SubscribeNumberDao subscribeNumberDao;
+
+    /**
+     * 获取订阅次数
+     * @return
+     */
+    @GetMapping("/getSubscribeNumber")
+    public Map<String, Object> getSubscribeNumber() {
+        return SendUtil.send(true, "", subscribeNumberDao.getSubscribeNumber());
+    }
+}

+ 15 - 0
nngkxxdp/src/main/java/com/example/nngkxxdp/program/dao/SubscribeNumberDao.java

@@ -0,0 +1,15 @@
+package com.example.nngkxxdp.program.dao;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+@Mapper
+public interface SubscribeNumberDao {
+    @Select("SELECT subscribe_number FROM t_subscribe_number LIMIT 0,1")
+    Integer getSubscribeNumber();
+
+    @Update("UPDATE t_subscribe_number SET subscribe_number = #{subscribeNumber}")
+    Integer updateSubscribeNumber(@Param("subscribeNumber") Integer subscribeNumber);
+}

+ 27 - 0
nngkxxdp/src/main/java/com/example/nngkxxdp/task/SubscribeTask.java

@@ -0,0 +1,27 @@
+package com.example.nngkxxdp.task;
+
+import cn.hutool.core.util.RandomUtil;
+import com.example.nngkxxdp.program.dao.SubscribeNumberDao;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+@Component
+@EnableScheduling
+public class SubscribeTask {
+
+    @Resource
+    SubscribeNumberDao subscribeNumberDao;
+
+    /**
+     * 定时任务,每天重新计算订阅数量
+     */
+    @Scheduled(cron = "0 0 1 * * ? ")
+    public void computeSubscribeNumber() {
+        Integer subscribeNumber = subscribeNumberDao.getSubscribeNumber();
+        subscribeNumber += RandomUtil.randomInt(5, 20);
+        subscribeNumberDao.updateSubscribeNumber(subscribeNumber);
+    }
+}