Browse Source

考前安排

change 3 năm trước cách đây
mục cha
commit
6dfe058c3d

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

@@ -146,7 +146,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
 
 
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
-    public Boolean insertByAddBo(GoodsAddBo bo) {
+    public synchronized Boolean insertByAddBo(GoodsAddBo bo) {
         Goods add = BeanUtil.toBean(bo, Goods.class);
         Goods add = BeanUtil.toBean(bo, Goods.class);
         add.setCode(ServletUtils.getEncoded("SP"));
         add.setCode(ServletUtils.getEncoded("SP"));
         validEntityBeforeSave(add);
         validEntityBeforeSave(add);

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserExamGoodsMapper.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.user.mapper;
 package com.zhongzheng.modules.user.mapper;
 
 
+import com.zhongzheng.modules.exam.domain.ExamNumber;
 import com.zhongzheng.modules.user.bo.UserExamGoodsQueryBo;
 import com.zhongzheng.modules.user.bo.UserExamGoodsQueryBo;
 import com.zhongzheng.modules.user.domain.UserExamGoods;
 import com.zhongzheng.modules.user.domain.UserExamGoods;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -20,4 +21,8 @@ public interface UserExamGoodsMapper extends BaseMapper<UserExamGoods> {
     List<UserExamGoodsVo> listUserExam(UserExamGoodsQueryBo bo);
     List<UserExamGoodsVo> listUserExam(UserExamGoodsQueryBo bo);
 
 
     List<UserExamGoodsSupplementVo> getUserExam(@Param("userExamGoodsId") Long userExamGoodsId,@Param("status") Long i);
     List<UserExamGoodsSupplementVo> getUserExam(@Param("userExamGoodsId") Long userExamGoodsId,@Param("status") Long i);
+
+    Long queryExamGoods(@Param("goodsId") Long goodsId,@Param("userId") Long userId);
+
+    ExamNumber queryExamGoodsVo(@Param("goodsId") Long goodsId,@Param("userId") Long userId);
 }
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserExamGoodsService.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.user.service;
 package com.zhongzheng.modules.user.service;
 
 
+import com.zhongzheng.modules.exam.domain.ExamNumber;
 import com.zhongzheng.modules.user.domain.UserExamGoods;
 import com.zhongzheng.modules.user.domain.UserExamGoods;
 import com.zhongzheng.modules.user.vo.UserExamGoodsVo;
 import com.zhongzheng.modules.user.vo.UserExamGoodsVo;
 import com.zhongzheng.modules.user.bo.UserExamGoodsQueryBo;
 import com.zhongzheng.modules.user.bo.UserExamGoodsQueryBo;
@@ -53,4 +54,8 @@ public interface IUserExamGoodsService extends IService<UserExamGoods> {
 	List<UserExamGoodsVo> listUserExam(UserExamGoodsQueryBo bo);
 	List<UserExamGoodsVo> listUserExam(UserExamGoodsQueryBo bo);
 
 
 	UserExamGoodsVo getUserExamInfo(UserExamGoodsQueryBo userExamGoodsQueryBo);
 	UserExamGoodsVo getUserExamInfo(UserExamGoodsQueryBo userExamGoodsQueryBo);
+
+    Long queryExamGoods(Long goodsId,Long userId);
+
+	ExamNumber queryExamGoodsVo(Long goodsId, Long userId);
 }
 }

+ 11 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserExamGoodsServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.exam.domain.ExamNumber;
 import com.zhongzheng.modules.user.bo.UserSubscribeQueryBo;
 import com.zhongzheng.modules.user.bo.UserSubscribeQueryBo;
 import com.zhongzheng.modules.user.mapper.UserSubscribeMapper;
 import com.zhongzheng.modules.user.mapper.UserSubscribeMapper;
 import com.zhongzheng.modules.user.service.IUserSubscribeService;
 import com.zhongzheng.modules.user.service.IUserSubscribeService;
@@ -138,4 +139,14 @@ public class UserExamGoodsServiceImpl extends ServiceImpl<UserExamGoodsMapper, U
         }
         }
         return null;
         return null;
     }
     }
+
+    @Override
+    public Long queryExamGoods(Long goodsId,Long userId) {
+        return baseMapper.queryExamGoods(goodsId,userId);
+    }
+
+    @Override
+    public ExamNumber queryExamGoodsVo(Long goodsId, Long userId) {
+        return baseMapper.queryExamGoodsVo(goodsId,userId);
+    }
 }
 }

+ 22 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java

@@ -27,6 +27,7 @@ import com.zhongzheng.common.utils.wxpay.*;
 import com.zhongzheng.modules.base.service.IShoppingCartService;
 import com.zhongzheng.modules.base.service.IShoppingCartService;
 import com.zhongzheng.modules.course.domain.Course;
 import com.zhongzheng.modules.course.domain.Course;
 import com.zhongzheng.modules.course.service.ICourseService;
 import com.zhongzheng.modules.course.service.ICourseService;
+import com.zhongzheng.modules.exam.domain.ExamNumber;
 import com.zhongzheng.modules.exam.service.IExamNoteService;
 import com.zhongzheng.modules.exam.service.IExamNoteService;
 
 
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.service.IGoodsService;
@@ -50,8 +51,12 @@ import com.zhongzheng.modules.polyv.service.IPolyvVideoService;
 import com.zhongzheng.modules.polyv.vo.PolyvVideoQuerVo;
 import com.zhongzheng.modules.polyv.vo.PolyvVideoQuerVo;
 import com.zhongzheng.modules.polyv.vo.PolyvVideoVo;
 import com.zhongzheng.modules.polyv.vo.PolyvVideoVo;
 import com.zhongzheng.modules.user.bo.OrderPossessUserAddBo;
 import com.zhongzheng.modules.user.bo.OrderPossessUserAddBo;
+import com.zhongzheng.modules.user.bo.UserExamGoodsAddBo;
+import com.zhongzheng.modules.user.bo.UserExamGoodsSupplementAddBo;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.service.IOrderPossessUserService;
 import com.zhongzheng.modules.user.service.IOrderPossessUserService;
+import com.zhongzheng.modules.user.service.IUserExamGoodsService;
+import com.zhongzheng.modules.user.service.IUserExamGoodsSupplementService;
 import com.zhongzheng.modules.user.service.IUserService;
 import com.zhongzheng.modules.user.service.IUserService;
 import com.zhongzheng.modules.wx.service.IWxPayService;
 import com.zhongzheng.modules.wx.service.IWxPayService;
 import com.zhongzheng.modules.wx.vo.WxPayVo;
 import com.zhongzheng.modules.wx.vo.WxPayVo;
@@ -101,6 +106,12 @@ public class WxPayServiceImpl  implements IWxPayService {
     @Autowired
     @Autowired
     private RedisCache redisCache;
     private RedisCache redisCache;
 
 
+    @Autowired
+    private IUserExamGoodsService userExamGoodsService;
+
+    @Autowired
+    private IUserExamGoodsSupplementService userExamGoodsSupplementService;
+
     private WXPayConstants.SignType signType;
     private WXPayConstants.SignType signType;
 
 
  //   private String notifyUrl = "https://api.xyyxt.net/wx/pay/callback";
  //   private String notifyUrl = "https://api.xyyxt.net/wx/pay/callback";
@@ -323,7 +334,17 @@ public class WxPayServiceImpl  implements IWxPayService {
         GoodsVo goodsVo = iGoodsService.queryById(g.getGoodsId());
         GoodsVo goodsVo = iGoodsService.queryById(g.getGoodsId());
         //添加商品考试次数和补考次数
         //添加商品考试次数和补考次数
         if (goodsVo.getGoodsType().equals(1)){
         if (goodsVo.getGoodsType().equals(1)){
-
+            if (userExamGoodsService.queryExamGoods(goodsVo.getGoodsId(),order.getUserId()) < 1){
+                ExamNumber examNumber = userExamGoodsService.queryExamGoodsVo(goodsVo.getGoodsId(),order.getUserId());
+                UserExamGoodsAddBo userExamGoodsAddBo = new UserExamGoodsAddBo();
+                userExamGoodsAddBo.setGoodsId(g.getGoodsId());
+                userExamGoodsAddBo.setExamNumber(examNumber.getExamNumber());
+                userExamGoodsAddBo.setDoNumber(examNumber.getDoNumber());
+                userExamGoodsService.insertByAddBo(userExamGoodsAddBo);
+                UserExamGoodsSupplementAddBo userExamGoodsSupplementAddBo = new UserExamGoodsSupplementAddBo();
+                userExamGoodsSupplementAddBo.setGoodsId(g.getGoodsId());
+                userExamGoodsSupplementService.insertByAddBo(userExamGoodsSupplementAddBo);
+            }
         }
         }
         if (goodsVo.getGoodsType().equals(4)){
         if (goodsVo.getGoodsType().equals(4)){
 
 

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/exam/ExamNumberMapper.xml

@@ -74,7 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 LEFT JOIN exam_apply_goods eag ON ea.apply_id = eag.apply_id
                 LEFT JOIN exam_apply_goods eag ON ea.apply_id = eag.apply_id
         where 1=1
         where 1=1
           and eag.goods_id =#{goodsId}
           and eag.goods_id =#{goodsId}
-          and ea.`status`=1
+          and ea.`status`in (1,0,2)
     </select>
     </select>
 
 
     <select id="selectApplyBefore" parameterType="map" resultType="integer">
     <select id="selectApplyBefore" parameterType="map" resultType="integer">
@@ -84,6 +84,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             exam_before_goods ebg
             exam_before_goods ebg
                 LEFT JOIN exam_before eb on ebg.before_id = eb.before_id
                 LEFT JOIN exam_before eb on ebg.before_id = eb.before_id
         where ebg.goods_id = #{goodsId}
         where ebg.goods_id = #{goodsId}
-          and eb.`status` in (1,0)
+          and eb.`status` in (1,0,2)
     </select>
     </select>
 </mapper>
 </mapper>

+ 22 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserExamGoodsMapper.xml

@@ -83,4 +83,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             uegs.user_exam_goods_id = #{userExamGoodsId}
             uegs.user_exam_goods_id = #{userExamGoodsId}
           and uegs.`status`=#{status}
           and uegs.`status`=#{status}
     </select>
     </select>
+
+    <select id="queryExamGoods" parameterType="map" resultType="Long">
+        SELECT
+            count(1)
+        FROM
+            exam_number en
+                LEFT JOIN exam_number_goods eng on eng.exam_number_id = en.exam_number_id
+                LEFT JOIN user_exam_goods ueg   on 	ueg.goods_id = eng.goods_id
+        where ueg.user_id = #{userId}
+          AND ueg.goods_id = #{goodsId}
+    </select>
+
+    <select id="queryExamGoodsVo" parameterType="map" resultMap="UserExamGoodsVo">
+        SELECT
+            en.*
+        FROM
+            exam_number en
+                LEFT JOIN exam_number_goods eng on eng.exam_number_id = en.exam_number_id
+                LEFT JOIN user_exam_goods ueg   on 	ueg.goods_id = eng.goods_id
+        where ueg.user_id = #{userId}
+          AND ueg.goods_id = #{goodsId}
+    </select>
 </mapper>
 </mapper>