bihuisong vor 1 Jahr
Ursprung
Commit
fc6f30e6f7

+ 18 - 15
sooka-jnb/src/main/java/com/sooka/jnb/knowledge/service/impl/JnbKnowledgeBaseServiceImpl.java

@@ -154,25 +154,28 @@ public class JnbKnowledgeBaseServiceImpl implements IJnbKnowledgeBaseService {
 
     @Override
     public AjaxResult knowledgePay(JnbKnowledgeBaseVO jnbKnowledgeBaseVO) {
-        ScoreOperate scoreOperate = new ScoreOperate();
-        scoreOperate.setUserId(jnbKnowledgeBaseVO.getUserId());
-        scoreOperate.setScoreNum(Integer.valueOf(Math.toIntExact(jnbKnowledgeBaseVO.getIntegral())));
-        scoreOperate.setRelevance("1");
-        scoreOperate.setRelevanceDataId(jnbKnowledgeBaseVO.getId().toString());
-        int count = service.knowledgeWhetherToPay(jnbKnowledgeBaseVO.getCreateId(), jnbKnowledgeBaseVO.getId().toString());
-        if (count > 0) {
-            return AjaxResult.success();
-        } else {
-            if (!service.verifyScore(scoreOperate)) {
-                return AjaxResult.error("积分不足");
+        if (jnbKnowledgeBaseVO.getIntegral() != 0) {
+            ScoreOperate scoreOperate = new ScoreOperate();
+            scoreOperate.setUserId(jnbKnowledgeBaseVO.getUserId());
+            scoreOperate.setScoreNum(Integer.valueOf(Math.toIntExact(jnbKnowledgeBaseVO.getIntegral())));
+            scoreOperate.setRelevance("1");
+            scoreOperate.setRelevanceDataId(jnbKnowledgeBaseVO.getId().toString());
+            int count = service.knowledgeWhetherToPay(jnbKnowledgeBaseVO.getCreateId(), jnbKnowledgeBaseVO.getId().toString());
+            if (count > 0) {
+                return AjaxResult.success();
             } else {
-                if (service.reduceScore(scoreOperate) > 0) {
-                    scoreOperate.setUserId(jnbKnowledgeBaseVO.getCreateId());
-                    service.addScore(scoreOperate);
+                if (!service.verifyScore(scoreOperate)) {
+                    return AjaxResult.error("积分不足");
                 } else {
-                    return AjaxResult.error("减少积分失败!");
+                    if (service.reduceScore(scoreOperate) > 0) {
+                        scoreOperate.setUserId(jnbKnowledgeBaseVO.getCreateId());
+                        service.addScore(scoreOperate);
+                    } else {
+                        return AjaxResult.error("减少积分失败!");
+                    }
                 }
             }
+            return AjaxResult.success();
         }
         return AjaxResult.success();
     }

+ 13 - 2
sooka-jnb/src/main/resources/mapper/knowledge/JnbKnowledgeBaseMapper.xml

@@ -160,8 +160,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="knowledgePayList" parameterType="JnbKnowledgeBase" resultType="com.sooka.jnb.knowledge.vo.JnbKnowledgeBaseVO">
-        select kb.* FROM jnb_knowledge_base kb  LEFT JOIN jnb_score_operate so on so.relevance_data_id = kb.id
-        WHERE so.relevance = 1 AND so.user_id  = #{createId}
+        SELECT
+            kb.*,
+            CONCAT( jkbi.img_url ) as imgUrlList
+        FROM
+            jnb_knowledge_base kb
+                LEFT JOIN jnb_score_operate so ON so.relevance_data_id = kb.id
+                LEFT JOIN jnb_knowledge_base_img jkbi ON kb.id = jkbi.knowledge_id
+        WHERE
+            so.relevance = 1
+          AND kb.del_flag = 0
+          AND so.user_id = #{createId}
+        GROUP BY
+            kb.id
     </select>
     <update id="updateWatchNum">
         update jnb_knowledge_base set watch_num = watch_num + 1 where id = #{id}