فهرست منبع

fix 重复购买

he2802 3 سال پیش
والد
کامیت
b62bdd9104

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseMapper.java

@@ -44,7 +44,8 @@ public interface CourseMapper extends BaseMapper<Course> {
 
     Long rebuildNext(ClassGradeUserQueryBo bo);
 
-    ClassGradeVo gradeIdSelect(@Param("userId") Long userId, @Param("goodsId") Long goodsId);
+    //不传班级可能出现用户重复购买情况
+    ClassGradeVo gradeIdSelect(@Param("userId") Long userId, @Param("goodsId") Long goodsId, @Param("gradeId") Long gradeId);
 
     Long goodsRebuildStatus(CourseQueryBo bo);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java

@@ -345,7 +345,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
         //用户课程得详细信息
         for (GoodsUserVo goodsUserVo : goodsUserVos) {
             //获得当前所在班级
-            ClassGradeVo classGradeVo = baseMapper.gradeIdSelect(goodsUserVo.getUserId(),goodsUserVo.getGoodsId());
+            ClassGradeVo classGradeVo = baseMapper.gradeIdSelect(goodsUserVo.getUserId(),goodsUserVo.getGoodsId(),goodsUserVo.getGradeId());
             if(Validator.isEmpty(classGradeVo)){
                 continue;
             }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -406,7 +406,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     public GoodsVo selectUserDetail(CourseQueryBo bo) {
         GoodsVo goodsVo = goodsMapper.selectUserDetail(bo);
         //获得当前所在班级
-        ClassGradeVo classGradeVo = courseMapper.gradeIdSelect(bo.getUserId(),bo.getGoodsId());
+        ClassGradeVo classGradeVo = courseMapper.gradeIdSelect(bo.getUserId(),bo.getGoodsId(),null);
         goodsVo.setGradeId(classGradeVo.getGradeId());
         return goodsVo;
     }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserVo.java

@@ -322,4 +322,5 @@ public class GoodsUserVo {
 	@Excel(name = "开班状态 0未开班 1开班")
 	@ApiModelProperty("开班状态 0未开班 1开班")
 	private Integer classStatus;
+
 }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java

@@ -679,7 +679,7 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             userSubscribeAddBo.setApplyId(applyId);
 
             //获得当前所在班级
-            ClassGradeVo classGradeVo = courseMapper.gradeIdSelect(userId,goodsId);
+            ClassGradeVo classGradeVo = courseMapper.gradeIdSelect(userId,goodsId,null);
             if(Validator.isEmpty(classGradeVo)||classGradeVo.getPeriodStatus()!=1){
                 userSubscribeImport.setCause("该学员学时审核未通过");
                 userSubscribeImports.add(userSubscribeImport);
@@ -905,7 +905,7 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             userSubscribeAddBo.setApplyId(applyId);
 
             //获得当前所在班级
-            ClassGradeVo classGradeVo = courseMapper.gradeIdSelect(userId,goodsId);
+            ClassGradeVo classGradeVo = courseMapper.gradeIdSelect(userId,goodsId,null);
             if(Validator.isEmpty(classGradeVo)||classGradeVo.getPeriodStatus()!=1){
                 userSubscribeImport.setCause("该学员学时审核未通过");
                 userSubscribeImports.add(userSubscribeImport);

+ 5 - 1
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -179,6 +179,7 @@
         <result property="subApplySiteStartTime" column="sub_apply_site_start_time"/>
         <result property="subApplySiteEndTime" column="sub_apply_site_end_time"/>
         <result property="subApplySiteExamTime" column="sub_apply_site_exam_time"/>
+        <result property="gradeId" column="grade_id"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.grade.vo.ClassGradeVo" id="ClassGradeVoResult">
@@ -453,6 +454,7 @@
         o.user_id,
         og.study_count as order_study_count,
         og.order_goods_id,
+        og.grade_id,
         (SELECT cet.education_name FROM  course_education_type cet  where cet.id = g.education_type_id) as education_name,
         (SELECT cet.project_name FROM  course_project_type cet where cet.id = g.project_id) as project_name,
         (SELECT cet.business_name FROM  course_business cet  where cet.id = g.business_id) as business_name,
@@ -526,7 +528,9 @@
                 LEFT JOIN class_grade_goods cgg on cg.grade_id = cgg.grade_id
         WHERE
             1=1
-
+        <if test="gradeId != null and gradeId != ''">
+            and cg.grade_id = #{gradeId}
+        </if>
           and cg.`status` =1 and cgg.goods_id = #{goodsId} and cgu.change_grade = 0 and cgu.user_id=#{userId}
         order by cg.create_time desc LIMIT 1
     </select>