Explorar o código

修改获取打卡文章业务逻辑

wjj hai 1 semana
pai
achega
70c498ee69

+ 1 - 0
fs-service/src/main/java/com/fs/his/service/IFsSignArticleReadDetailService.java

@@ -79,4 +79,5 @@ public interface IFsSignArticleReadDetailService
      * 获取文章红包配置
      * */
     public Integer getArticleRedPacketConfig();
+
 }

+ 9 - 0
fs-service/src/main/java/com/fs/his/service/IFsSignArticleService.java

@@ -2,6 +2,7 @@ package com.fs.his.service;
 
 import java.util.List;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.common.core.domain.R;
 import com.fs.his.domain.FsSignArticle;
 
 /**
@@ -65,4 +66,12 @@ public interface IFsSignArticleService extends IService<FsSignArticle>{
      * @return 结果
      */
     List<FsSignArticle> selectSecondNameOptionList();
+
+    /**
+     * 获取一键群发和SOP自动发的文章详情
+     * @param articleId 文章id
+     * @param userId 用户id
+     * @return 结果
+     */
+    R signArticleDetail(Long articleId,Long userId);
 }

+ 20 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsSignArticleServiceImpl.java

@@ -1,9 +1,13 @@
 package com.fs.his.service.impl;
 
-import java.util.Collections;
 import java.util.List;
+import java.util.Map;
+
+import com.fs.common.core.domain.R;
 import com.fs.common.utils.DateUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fs.qw.service.ISignRedPacketRecordService;
+import com.google.common.collect.Maps;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.fs.his.mapper.FsSignArticleMapper;
@@ -21,6 +25,9 @@ public class FsSignArticleServiceImpl extends ServiceImpl<FsSignArticleMapper, F
 
     @Autowired
     private FsSignArticleMapper fsSignArticleMapper;
+
+    @Autowired
+    private ISignRedPacketRecordService signRedPacketRecordService;
     /**
      * 查询打卡文章
      * 
@@ -99,4 +106,16 @@ public class FsSignArticleServiceImpl extends ServiceImpl<FsSignArticleMapper, F
     public List<FsSignArticle> selectSecondNameOptionList() {
         return fsSignArticleMapper.selectSecondNameOptionList();
     }
+
+    @Override
+    public R signArticleDetail(Long articleId, Long userId) {
+        Map<String,Object> map = Maps.newHashMap();
+        //文章信息
+        FsSignArticle signArticle = fsSignArticleMapper.selectFsSignArticleById(articleId);
+        //0-未创建领取记录(需上传打卡) 1- 已创建但未领取(无需上传打卡) 2-已领取无需上传打卡
+        Integer userIsCollect = signRedPacketRecordService.userIsCollect(articleId, userId);
+        map.put("userIsCollect", userIsCollect);
+        map.put("signArticle", signArticle);
+        return R.ok().put("data", map);
+    }
 }

+ 10 - 0
fs-service/src/main/java/com/fs/qw/mapper/SignRedPacketRecordMapper.java

@@ -4,6 +4,7 @@ import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fs.qw.domain.SignRedPacketRecord;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 /**
  * 签到红包领取记录Mapper接口
@@ -75,4 +76,13 @@ public interface SignRedPacketRecordMapper extends BaseMapper<SignRedPacketRecor
      * @return 结果
      */
     int deleteSignRedPacketRecordByIds(Long[] ids);
+
+    /**
+     * 查询用户领取文章红包记录
+     * @param articleId 文章id
+     * @param userId 用户id
+     * @return 用户领取文章红包记录
+     */
+    @Select("SELECT * FROM sign_red_packet_record WHERE user_id = #{userId} AND  article_id = #{articleId}")
+    SignRedPacketRecord selectUserRecord(@Param("userId")Long userId, @Param("articleId")Long articleId);
 }

+ 9 - 0
fs-service/src/main/java/com/fs/qw/service/ISignRedPacketRecordService.java

@@ -58,4 +58,13 @@ public interface ISignRedPacketRecordService extends IService<SignRedPacketRecor
      * @return 结果
      */
     int deleteSignRedPacketRecordById(Long id);
+
+
+    /**
+     * 用户是否领取过改文章红包
+     * @param articleId 文章id
+     * @param userId 用户id
+     * @return 结果 0-未创建领取记录(需上传打卡) 1- 已创建但未领取(无需上传打卡) 2-已领取无需上传打卡
+     */
+    Integer userIsCollect(Long articleId,Long userId);
 }

+ 20 - 0
fs-service/src/main/java/com/fs/qw/service/impl/SignRedPacketRecordServiceImpl.java

@@ -18,6 +18,10 @@ import com.fs.qw.service.ISignRedPacketRecordService;
 @Service
 public class SignRedPacketRecordServiceImpl extends ServiceImpl<SignRedPacketRecordMapper, SignRedPacketRecord> implements ISignRedPacketRecordService {
 
+
+    @Autowired
+    private SignRedPacketRecordMapper signRedPacketRecordMapper;
+
     /**
      * 查询签到红包领取记录
      * 
@@ -91,4 +95,20 @@ public class SignRedPacketRecordServiceImpl extends ServiceImpl<SignRedPacketRec
     {
         return baseMapper.deleteSignRedPacketRecordById(id);
     }
+
+    @Override
+    public Integer userIsCollect(Long articleId, Long userId) {
+        //0-未创建领取记录(需上传打卡) 1- 已创建但未领取(无需上传打卡) 2-已领取无需上传打卡
+        int collectFlag = 0;
+        SignRedPacketRecord signRedPacketRecord = signRedPacketRecordMapper.selectUserRecord(userId, articleId);
+        if (signRedPacketRecord != null) {
+            if (signRedPacketRecord.getCollectType() == 1) {
+                collectFlag = 2;
+            } else {
+                collectFlag = 1;
+            }
+
+        }
+        return collectFlag;
+    }
 }

+ 2 - 2
fs-user-app/src/main/java/com/fs/app/controller/SignArticleController.java

@@ -26,8 +26,8 @@ public class SignArticleController extends  AppBaseController  {
     @ApiOperation("获取打卡文章详情")
     @GetMapping("/detail")
     public R detail(@RequestParam("articleId") Long articleId){
-        FsSignArticle article = signArticleService.selectFsSignArticleById(articleId);
-        return R.ok().put("article", article);
+        Long userId = Long.parseLong(getUserId());
+        return signArticleService.signArticleDetail(articleId,userId);
     }
 
     @Login