Преглед изворни кода

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	sooka-jnb/src/main/resources/mapper/highServer/JnbHighServerImgMapper.xml
qinhouyu пре 1 година
родитељ
комит
55fe1eecea

+ 31 - 16
ruoyi-admin/src/main/java/com/ruoyi/web/controller/score/ScoreController.java

@@ -1,6 +1,7 @@
 package com.ruoyi.web.controller.score;
 
 import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.sooka.jnb.score.domain.ScoreOperate;
@@ -17,25 +18,29 @@ public class ScoreController extends BaseController {
     /**
      * 初始化积分
      *
-     * @param scoreOperate
-     * @return
+     * @param scoreOperate 积分操作实体
+     * @return AjaxResult
      */
     @PostMapping("/initScore")
-    public R initScore(@RequestBody ScoreOperate scoreOperate) {
-        if(service.soleVerify(scoreOperate.getUserId())){
-            return R.fail("用户已存在, 不能初始化积分!");
+    public AjaxResult initScore(@RequestBody ScoreOperate scoreOperate) {
+        if (service.soleVerify(scoreOperate.getUserId())) {
+            return AjaxResult.error("用户已存在, 不能初始化积分!");
+        }
+        if (service.initScore(scoreOperate) > 0) {
+            return AjaxResult.success();
+        } else {
+            return AjaxResult.error("初始化积分失败!");
         }
-        return R.ok(service.initScore(scoreOperate));
     }
 
     /**
      * 获取积分
      *
-     * @param userId
-     * @return
+     * @param userId 用户ID
+     * @return AjaxResult
      */
     @GetMapping("/getScore")
-    public R getScore(@RequestParam String userId) {
+    public R<ScoreOperate> getScore(@RequestParam String userId) {
         return R.ok(service.getScore(userId));
     }
 
@@ -43,7 +48,7 @@ public class ScoreController extends BaseController {
      * 获取用户积分列表
      */
     @GetMapping("/getList")
-    public TableDataInfo getList(ScoreOperate scoreOperate){
+    public TableDataInfo getList(ScoreOperate scoreOperate) {
         startPage();
         return getDataTable(service.getList(scoreOperate));
     }
@@ -61,8 +66,12 @@ public class ScoreController extends BaseController {
      * 增加积分
      */
     @PostMapping("/addScore")
-    public R addScore(@RequestBody ScoreOperate scoreOperate) {
-        return R.ok(service.addScore(scoreOperate));
+    public AjaxResult addScore(@RequestBody ScoreOperate scoreOperate) {
+        if (service.addScore(scoreOperate) > 0) {
+            return AjaxResult.success();
+        } else {
+            return AjaxResult.error("增加积分失败!");
+        }
     }
 
 
@@ -70,9 +79,15 @@ public class ScoreController extends BaseController {
      * 减少积分
      */
     @PostMapping("/reduceScore")
-    public R reduceScore(@RequestBody ScoreOperate scoreOperate) {
-        return R.ok(service.reduceScore(scoreOperate));
+    public AjaxResult reduceScore(@RequestBody ScoreOperate scoreOperate) {
+        if (service.verifyScore(scoreOperate)) {
+            if (service.reduceScore(scoreOperate) > 0) {
+                return AjaxResult.success();
+            } else {
+                return AjaxResult.error("减少积分失败!");
+            }
+        } else {
+            return AjaxResult.error("用户积分不足, 减少积分失败!");
+        }
     }
-
-
 }

+ 2 - 2
ruoyi-admin/src/main/resources/application.yml

@@ -136,6 +136,6 @@ xss:
   # 过滤开关
   enabled: true
   # 排除链接(多个用逗号分隔)
-  excludes: /system/notice,/pm/project,/oa/meeting,/jnb/information
+  excludes: /system/notice,/pm/project,/oa/meeting,/jnb/information,/high/server
   # 匹配链接
-  urlPatterns: /system/*,/monitor/*,/tool/*,/oa/*,/pm/*,/jnb/*
+  urlPatterns: /system/*,/monitor/*,/tool/*,/oa/*,/pm/*,/jnb/*,/high/*

+ 30 - 11
sooka-jnb/src/main/java/com/sooka/jnb/score/service/IScoreService.java

@@ -4,19 +4,21 @@ import com.sooka.jnb.score.domain.ScoreOperate;
 
 import java.util.List;
 
-public interface IScoreService{
+public interface IScoreService {
 
     /**
      * 初始化积分
+     *
      * @param score 积分实体类
-     * - userId 用户ID
-     * - scoreNum 初始化积分
-     * - createTime 创建时间
+     *              - userId 用户ID
+     *              - scoreNum 初始化积分
+     *              - createTime 创建时间
      */
     int initScore(ScoreOperate score);
 
     /**
      * 获取积分
+     *
      * @param userId 用户id
      */
     ScoreOperate getScore(String userId);
@@ -33,27 +35,44 @@ public interface IScoreService{
 
     /**
      * 增加积分
+     *
      * @param scoreOperate 积分操作实体
-     * - userId 用户id
-     * - scoreNum 增加的分数
-     * - createTime 创建时间
+     *                     - userId 用户id
+     *                     - scoreNum 增加的分数
+     *                     - createTime 创建时间
+     *                     - relevance 操作来源(字典值:key=score_type)
+     *                     - relevanceDataId 关联id
+     * @return int (>0:扣除成功)
      */
     int addScore(ScoreOperate scoreOperate);
 
     /**
      * 减少积分
+     *
      * @param scoreOperate 积分操作实体
-     * - userId 用户id
-     * - scoreNum 减少的分数
-     * - createTime 创建时间
+     *                     - userId 用户id
+     *                     - scoreNum 减少的分数
+     *                     - createTime 创建时间
+     *                     - relevance 操作来源(字典值:key=score_type)
+     *                     - relevanceDataId 关联id
      */
     int reduceScore(ScoreOperate scoreOperate);
 
     /**
+     * 校验剩余积分
+     *
+     * @param score 积分操作实体
+     *              - userId 用户Id
+     *              - scoreNum  要扣除的分数
+     * @return boolean 积分充足返回true,积分不足返回false
+     */
+    boolean verifyScore(ScoreOperate score);
+
+    /**
      * 唯一校验
+     *
      * @param userId 用户id
      * @return boolean 用户存在返回true,不存在则返回false
      */
     boolean soleVerify(String userId);
-
 }

+ 7 - 7
sooka-jnb/src/main/java/com/sooka/jnb/score/service/impl/ScoreServiceImpl.java

@@ -62,13 +62,8 @@ public class ScoreServiceImpl implements IScoreService {
     @Override
     @Transactional
     public int reduceScore(ScoreOperate scoreOperate) {
-        ScoreOperate score = scoreMapper.getScore(scoreOperate.getUserId());
-        if (score.getScoreNum() < scoreOperate.getScoreNum()) {
-            return -1;
-        } else {
-            scoreMapper.reduceScore(scoreOperate);
-            return this.insertScoreOperate(scoreOperate, REDUCE);
-        }
+        scoreMapper.reduceScore(scoreOperate);
+        return this.insertScoreOperate(scoreOperate, REDUCE);
     }
 
     /**
@@ -90,4 +85,9 @@ public class ScoreServiceImpl implements IScoreService {
         Map<String, Long> resultMap = scoreMapper.soleVerify(userId);
         return resultMap.get("personSum") > 0;
     }
+
+    @Override
+    public boolean verifyScore(ScoreOperate score) {
+        return scoreMapper.getScore(score.getUserId()).getScoreNum() >= score.getScoreNum();
+    }
 }

+ 0 - 1
sooka-jnb/src/main/resources/mapper/highServer/JnbHighServerMapper.xml

@@ -27,7 +27,6 @@
                jhs.update_by,
                jhs.update_time,
                GROUP_CONCAT(jhsi.id)       AS imgId,
-               GROUP_CONCAT(jhsi.img_name) AS imgNameList,
                GROUP_CONCAT(jhsi.img_url)  AS imgUrlList
         FROM jnb_high_server jhs
                  left JOIN jnb_high_server_img jhsi ON jhs.id = jhsi.server_id and jhsi.del_flag = 0