From b4df0e3b6730ddfa8b699b9813734f990a4c4945 Mon Sep 17 00:00:00 2001 From: nili Date: Tue, 2 Apr 2024 09:54:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BD=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/game/dao/bean/MatrixApp.java | 3 ++- .../dao/mapper/MatrixAdvRecordMapper.java | 10 ++++--- .../game/dao/mapper/MatrixAppMapper.java | 3 +++ .../group/game/service/MatrixService.java | 26 ++++++++++++++++--- .../group/controller/MatrixController.java | 13 +++++++--- 5 files changed, 42 insertions(+), 13 deletions(-) diff --git a/game-dao/src/main/java/awesome/group/game/dao/bean/MatrixApp.java b/game-dao/src/main/java/awesome/group/game/dao/bean/MatrixApp.java index 2aa6455..83a0429 100644 --- a/game-dao/src/main/java/awesome/group/game/dao/bean/MatrixApp.java +++ b/game-dao/src/main/java/awesome/group/game/dao/bean/MatrixApp.java @@ -11,5 +11,6 @@ public class MatrixApp { private String name; private String code; private String url; - private Integer income; + private Integer income;//分 + private String channel; } diff --git a/game-dao/src/main/java/awesome/group/game/dao/mapper/MatrixAdvRecordMapper.java b/game-dao/src/main/java/awesome/group/game/dao/mapper/MatrixAdvRecordMapper.java index 5fc34bb..b16e9be 100644 --- a/game-dao/src/main/java/awesome/group/game/dao/mapper/MatrixAdvRecordMapper.java +++ b/game-dao/src/main/java/awesome/group/game/dao/mapper/MatrixAdvRecordMapper.java @@ -2,15 +2,17 @@ package awesome.group.game.dao.mapper; import awesome.group.game.dao.bean.MatrixAdvRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Select; -import java.util.List; - public interface MatrixAdvRecordMapper extends BaseMapper { @Select("select id from matrix_app where code = #{code}") Integer queryAppId(String code); - @Select("select device_id from matrix_white_device") - List queryWhitelist(); + @Select("select count(*) from matrix_white_device") + Integer queryWhitelist(String channel, String deviceId); + + @Insert("insert ignore into matrix_white_device (channel, device_id) values (#{channel}, #{deviceId})") + void insertWhiteList(String channel, String deviceId); } diff --git a/game-dao/src/main/java/awesome/group/game/dao/mapper/MatrixAppMapper.java b/game-dao/src/main/java/awesome/group/game/dao/mapper/MatrixAppMapper.java index a0f066d..5daed65 100644 --- a/game-dao/src/main/java/awesome/group/game/dao/mapper/MatrixAppMapper.java +++ b/game-dao/src/main/java/awesome/group/game/dao/mapper/MatrixAppMapper.java @@ -2,6 +2,9 @@ package awesome.group.game.dao.mapper; import awesome.group.game.dao.bean.MatrixApp; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Select; public interface MatrixAppMapper extends BaseMapper { + @Select("select * from matrix_app where code = #{code}") + MatrixApp queryByCode(String code); } diff --git a/game-service/src/main/java/awesome/group/game/service/MatrixService.java b/game-service/src/main/java/awesome/group/game/service/MatrixService.java index 452c5fb..279d445 100644 --- a/game-service/src/main/java/awesome/group/game/service/MatrixService.java +++ b/game-service/src/main/java/awesome/group/game/service/MatrixService.java @@ -1,21 +1,24 @@ package awesome.group.game.service; import awesome.group.game.dao.bean.MatrixAdvRecord; +import awesome.group.game.dao.bean.MatrixApp; import awesome.group.game.dao.mapper.MatrixAdvRecordMapper; +import awesome.group.game.dao.mapper.MatrixAppMapper; import awesome.group.game.service.bo.MatrixAdvRecordEditBo; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.util.Assert; import org.springframework.util.StringUtils; -import java.util.List; - @Service public class MatrixService { @Resource private MatrixAdvRecordMapper mapper; + @Resource + private MatrixAppMapper appMapper; + public void saveRecord(MatrixAdvRecordEditBo bo, String ip) { Assert.isTrue(StringUtils.hasText(bo.appCode), "appCode不能为空"); Integer appId = mapper.queryAppId(bo.appCode); @@ -34,7 +37,22 @@ public class MatrixService { mapper.insert(record); } - public List whiteList() { - return mapper.queryWhitelist(); + public boolean whiteList(String deviceId, String appCode) { + MatrixApp app = appMapper.queryByCode(appCode); + if (app == null) { + return false; + } + return mapper.queryWhitelist(app.getChannel(), deviceId) > 0; + } + + public void addIntoWhiteList(String deviceId, String appCode) { + MatrixApp app = appMapper.queryByCode(appCode); + if (app == null) { + return; + } + if (mapper.queryWhitelist(app.getChannel(), deviceId) > 0) { + return; + } + mapper.insertWhiteList(app.getChannel(), deviceId); } } diff --git a/game-web/src/main/java/awesome/group/controller/MatrixController.java b/game-web/src/main/java/awesome/group/controller/MatrixController.java index a42b6c7..70ba258 100644 --- a/game-web/src/main/java/awesome/group/controller/MatrixController.java +++ b/game-web/src/main/java/awesome/group/controller/MatrixController.java @@ -8,8 +8,6 @@ import awesome.group.game.service.common.response.R; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; -import java.util.List; - @RestController @RequestMapping("/api/game/matrix") public class MatrixController { @@ -25,7 +23,14 @@ public class MatrixController { @GetMapping("/whiteList") @RestApi - public R> whiteList(){ - return new R<>(R.CODE_SUCCESS, "ok", matrixService.whiteList()); + public R whiteList(@RequestParam String deviceId, @RequestParam String appCode){ + return new R<>(R.CODE_SUCCESS, "ok", matrixService.whiteList(deviceId, appCode)); + } + + @PostMapping("/addWhiteList") + @RestApi + public R addWhiteList(@RequestParam String deviceId, @RequestParam String appCode){ + matrixService.addIntoWhiteList(deviceId, appCode); + return new R<>(R.CODE_SUCCESS, "ok", null); } }