Explorar o código

add 用户赠送题库

he2802 %!s(int64=3) %!d(string=hai) anos
pai
achega
cea34c9731

+ 23 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/bank/QuestionController.java

@@ -85,4 +85,27 @@ public class QuestionController extends BaseController {
         }
         return getDataTable(list);
     }
+
+    /**
+     * 查询用户拥有免费题库商品
+     */
+    @ApiOperation("查询用户拥有免费题库商品")
+    @GetMapping("/listFreeGoodsList")
+    public TableDataInfo<GoodsUserQuestionVo> listFreeGoodsList(GoodsQueryBo bo) {
+        startPage();
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        List<GoodsUserQuestionVo> list = iQuestionService.listFreeGoodsList(bo);
+        for (GoodsUserQuestionVo g : list) {
+            UserExamRecordQueryBo userExamRecordQueryBo = new UserExamRecordQueryBo();
+            userExamRecordQueryBo.setOrderGoodsId(g.getOrderGoodsId());
+            userExamRecordQueryBo.setUserId(loginUser.getUser().getUserId());
+            Long doNum = iUserExamRecordService.selectDoNum(userExamRecordQueryBo);
+            Long totalNum = iGoodsService.getQuestionNum(g.getGoodsId());
+            g.setDoNum(doNum);
+            g.setTotalNum(totalNum);
+
+        }
+        return getDataTable(list);
+    }
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionMapper.java

@@ -21,4 +21,6 @@ public interface QuestionMapper extends BaseMapper<Question> {
     List<QuestionVo> selectList(QuestionQueryBo bo);
 
     List<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo);
+
+    List<GoodsUserQuestionVo> listFreeGoodsList(GoodsQueryBo bo);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionService.java

@@ -34,7 +34,7 @@ public interface IQuestionService extends IService<Question> {
 	List<QuestionVo> selectList(QuestionQueryBo bo);
 
 
-
+	List<GoodsUserQuestionVo> listFreeGoodsList(GoodsQueryBo bo);
 
 	/**
 	 * 查询列表

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionServiceImpl.java

@@ -114,6 +114,11 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         return questionMapper.selectList(bo);
     }
 
+    @Override
+    public List<GoodsUserQuestionVo> listFreeGoodsList(GoodsQueryBo bo) {
+        return this.baseMapper.listFreeGoodsList(bo);
+    }
+
 
     @Override
     public List<QuestionVo> queryList(QuestionQueryBo bo) {

+ 44 - 3
zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionMapper.xml

@@ -276,7 +276,7 @@
 
     <select id="listGoodsUserQuestionVo" parameterType="com.zhongzheng.modules.bank.bo.QuestionQueryBo" resultMap="GoodsUserQuestionVo">
         SELECT
-            DISTINCT g.*,
+             g.*,
             ps.supply_name,
             cet.education_name,
             cpt.project_name,
@@ -300,8 +300,7 @@
                 LEFT JOIN school s ON s.id = g.school_id
                 LEFT JOIN major m ON g.major_id = m.id
                 LEFT JOIN order_input_template ot ON cb.template_status = ot.id
-                LEFT JOIN goods_attached ga ON g.goods_id = ga.goods_id
-                LEFT JOIN question_business qb ON ga.major_id = qb.major_id
+
                 LEFT JOIN order_goods og on g.goods_id =og.goods_id
                 LEFT JOIN `order` o on o.order_sn = og.order_sn
         WHERE
@@ -316,4 +315,46 @@
         </if>
         ORDER BY og.create_time DESC
     </select>
+
+
+    <select id="listFreeGoodsList" parameterType="com.zhongzheng.modules.bank.bo.QuestionQueryBo" resultMap="GoodsUserQuestionVo">
+        SELECT
+             g.*,
+                     ps.supply_name,
+                     cet.education_name,
+                     cpt.project_name,
+                     cb.business_name,
+                     s.school_name,
+                     m.category_name,
+                     ot.type AS template_type,
+                     ( SELECT gs.goods_name FROM goods gs WHERE 1 = 1 AND g.make_goods_id = gs.goods_id ) AS make_goods_name,
+                     ( SELECT gs.CODE FROM goods gs WHERE 1 = 1 AND g.make_goods_id = gs.goods_id ) AS make_goods_code,
+                     o.user_id,
+                     og.create_time as order_create_time,
+                     og.service_start_time,
+                     og.service_end_time,
+                     og.order_goods_id
+        FROM `order` o
+                 LEFT JOIN order_goods og ON o.order_sn = og.order_sn
+                 LEFT JOIN order_goods_free ogf ON og.order_goods_id = ogf.order_goods_id
+                 LEFT JOIN goods g ON ogf.free_goods_id = g.goods_id
+        LEFT JOIN pay_supply ps ON g.supply_id = ps.supply_id
+        LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+        LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+        LEFT JOIN course_business cb ON g.business_id = cb.id
+        LEFT JOIN school s ON s.id = g.school_id
+        LEFT JOIN major m ON g.major_id = m.id
+        LEFT JOIN order_input_template ot ON cb.template_status = ot.id
+        WHERE
+            1 = 1
+          AND g.goods_type = 5
+          AND o.user_id = #{userId}
+          AND og.`status` = 1
+          AND og.pay_status IN ( 2, 3, 4 )
+          AND og.refund_status IN (0,3,1)
+            <if test="educationTypeId != null and educationTypeId != ''">
+                AND g.education_type_id = #{educationTypeId}
+            </if>
+            ORDER BY og.create_time DESC
+    </select>
 </mapper>