Эх сурвалжийг харах

submit:模考活动改造处理

yangdamao 3 жил өмнө
parent
commit
bb886cac07

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamActivityApplyBo.java

@@ -49,6 +49,10 @@ public class ExamActivityApplyBo implements Serializable {
     @ApiModelProperty("科目IDs")
     private String mockSubjectIds;
 
+    /**模考绑定科目IDs */
+    @ApiModelProperty("模考绑定科目IDs")
+    private String mockMajorSubjectIds;
+
     /** 报考科目(多个用逗号隔开) */
     @ApiModelProperty("报考科目(多个用逗号隔开)")
     private String userMajors;

+ 21 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamActivityServiceImpl.java

@@ -26,11 +26,13 @@ import com.zhongzheng.modules.exam.vo.ExamActivityVo;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.mock.bo.UserMockActivityAddBo;
 import com.zhongzheng.modules.mock.domain.MockMajor;
 import com.zhongzheng.modules.mock.domain.MockMajorSubject;
 import com.zhongzheng.modules.mock.service.IMockMajorService;
 import com.zhongzheng.modules.mock.service.IMockMajorSubjectService;
 import com.zhongzheng.modules.user.domain.User;
+import com.zhongzheng.modules.user.service.IUserMockSubscribeService;
 import com.zhongzheng.modules.user.service.IUserService;
 import com.zhongzheng.modules.wx.service.IWxLoginService;
 import org.springframework.beans.BeanUtils;
@@ -70,6 +72,8 @@ public class ExamActivityServiceImpl extends ServiceImpl<ExamActivityMapper, Exa
     private IMockMajorSubjectService mockMajorSubjectService;
     @Autowired
     private IUserService userService;
+    @Autowired
+    private IUserMockSubscribeService userMockSubscribeService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -112,7 +116,24 @@ public class ExamActivityServiceImpl extends ServiceImpl<ExamActivityMapper, Exa
         examActivityUser.setUserPhone(user.getTelphone());
         examActivityUser.setCreateTime(DateUtils.getNowTime());
         examActivityUser.setUpdateTime(DateUtils.getNowTime());
+        if (ObjectUtils.isNull(user.getNickname())){
+            user.setNickname(bo.getUserName());
+        }
+        if (ObjectUtils.isNull(user.getSex())){
+            user.setSex(bo.getUserSex());
+        }
+        if (ObjectUtils.isNull(user.getCompanyName())){
+            user.setCompanyName(bo.getCompanyName());
+        }
+        userService.updateById(user);
         iExamActivityUserService.save(examActivityUser);
+        //生成活动模考数据
+        UserMockActivityAddBo addBo = new UserMockActivityAddBo();
+        addBo.setUserId(bo.getUserId());
+        addBo.setMockApplyId(entity.getMockApplyId());
+        addBo.setMockMajorSubjectIds(Arrays.stream(bo.getMockMajorSubjectIds().split(",")).map(x -> Long.valueOf(x)).collect(Collectors.toList()));
+        userMockSubscribeService.addUserActivityMock(addBo);
+
         ExamActivity activity = getById(bo.getActivityId());
         ExamActivityApplyVo vo = new ExamActivityApplyVo();
         BeanUtils.copyProperties(activity,vo);

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

@@ -100,6 +100,9 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     @Autowired
     private  ICourseSubjectService iCourseSubjectService;
 
+    @Autowired
+    private  IGoodsSpecService goodsSpecService;
+
     @Override
     public GoodsVo queryById(Long goodsId){
         Goods db = this.baseMapper.selectById(goodsId);
@@ -719,6 +722,10 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
             if (ObjectUtils.isNotNull(business)) {
                 vo.setBusinessName(business.getAliasName());
             }
+            int count = goodsSpecService.count(new LambdaQueryWrapper<GoodsSpec>()
+                    .eq(GoodsSpec::getSpecTemplateId, x.getSpecTemplateId())
+                    .eq(GoodsSpec::getStatus, 1));
+            vo.setSpecNumber(count);
             return vo;
         }).collect(Collectors.toList());
 

+ 29 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/bo/UserMockActivityAddBo.java

@@ -0,0 +1,29 @@
+package com.zhongzheng.modules.mock.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * 模考安排添加对象 mock_apply
+ *
+ * @author ruoyi
+ * @date 2022-05-24
+ */
+@Data
+@ApiModel("用户模考对象")
+public class UserMockActivityAddBo {
+
+    @ApiModelProperty("用户ID")
+    private Long userId;
+    /** 模考ID */
+    @ApiModelProperty("模考ID")
+    private Long mockApplyId;
+    /** 模考绑定科目IDs */
+    @ApiModelProperty("模考绑定科目IDs")
+    private List<Long> mockMajorSubjectIds;
+
+}

+ 4 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -686,8 +686,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 billGoodsAddBo.setOrderGoodsId(orderGoods.getOrderGoodsId());
                 billGoodsAddBo.setAmount(orderGoods.getGoodsReceived());
                 billGoodsList.add(billGoodsAddBo);
-                //商品是否有活动模考
-                iUserMockSubscribeService.addActivityMock(orderGoods.getGoodsId(),add.getUserId());
+//                //商品是否有活动模考
+//                iUserMockSubscribeService.addActivityMock(orderGoods.getGoodsId(),add.getUserId());
             }
             billSheetAddBo.setGoodsList(billGoodsList);
             billRs = iOrderBillSheetService.placeBillInputOrder(billSheetAddBo);
@@ -720,8 +720,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         //给用户增加商品考试次数前培次数
         iWxPayService.updateUserExamGoods(orderGoods, order);
         iWxPayService.joinLockGrade(order.getOrderSn(), orderGoods.getGoodsId(), orderGoods.getOrderGoodsId());
-        //商品是否有活动模考
-        iUserMockSubscribeService.addActivityMock(orderGoods.getGoodsId(),order.getUserId());
+//        //商品是否有活动模考
+//        iUserMockSubscribeService.addActivityMock(orderGoods.getGoodsId(),order.getUserId());
     }
 
     @Override

+ 12 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserMockSubscribeService.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.user.service;
 
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
+import com.zhongzheng.modules.mock.bo.UserMockActivityAddBo;
 import com.zhongzheng.modules.user.domain.UserMockSubscribe;
 import com.zhongzheng.modules.user.vo.UserMockSubscribeVo;
 import com.zhongzheng.modules.user.bo.UserMockSubscribeQueryBo;
@@ -66,8 +67,17 @@ public interface IUserMockSubscribeService extends IService<UserMockSubscribe> {
 	 * 活动模考数据生成
 	 * @author change
 	 * @date 2022/8/31 16:28
-	 * @param goodId
+	 * @param mockApplyId
 	 * @return java.lang.Boolean
 	 */
-	Boolean addActivityMock(Long goodId,Long userId);
+	Boolean addActivityMock(Long mockApplyId,Long userId);
+
+	/**
+	 * 活动模考数据生成
+	 * @author change
+	 * @date 2022/8/31 16:28
+	 * @param bo
+	 * @return java.lang.Boolean
+	 */
+	Boolean addUserActivityMock(UserMockActivityAddBo bo);
 }

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

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
+import com.zhongzheng.modules.mock.bo.UserMockActivityAddBo;
 import com.zhongzheng.modules.mock.domain.MockApply;
 import com.zhongzheng.modules.mock.domain.MockMajorSubject;
 import com.zhongzheng.modules.mock.domain.MockMajorSubjectGoods;
@@ -436,9 +437,9 @@ public class UserMockSubscribeServiceImpl extends ServiceImpl<UserMockSubscribeM
     }
 
     @Override
-    public Boolean addActivityMock(Long goodsId,Long userId) {
+    public Boolean addActivityMock(Long mockApplyId,Long userId) {
         //获取商品绑定的活动模考数据
-        List<UserMockSubscribeAddBo> addBos = baseMapper.getMockByGooId(goodsId);
+        List<UserMockSubscribeAddBo> addBos = baseMapper.getMockByGooId(mockApplyId);
         if (CollectionUtils.isEmpty(addBos)){
             return true;
         }
@@ -462,4 +463,37 @@ public class UserMockSubscribeServiceImpl extends ServiceImpl<UserMockSubscribeM
         }).collect(Collectors.toList());
         return saveBatch(list);
     }
+
+    @Override
+    public Boolean addUserActivityMock(UserMockActivityAddBo bo) {
+        //模考信息
+        MockApply mockApply = iMockApplyService.getById(bo.getMockApplyId());
+        if (mockApply.getStatus() != 1 ){
+            //当前模考安排已经删除或者过期
+            return false;
+        }
+        if (DateUtils.getNowTime() > mockApply.getActivityEndTime() || DateUtils.getNowTime() < mockApply.getActivityStartTime()){
+            //不在活动时间内
+            return false;
+        }
+        List<UserMockSubscribe> subscribes = bo.getMockMajorSubjectIds().stream().map(item -> {
+            UserMockSubscribe entity = new UserMockSubscribe();
+            entity.setUserId(bo.getUserId());
+//            entity.setEachExamId();
+            entity.setSubscribeStatus(1);
+            entity.setBeforeStatus(0);
+            entity.setExamStatus(0);
+            entity.setHandStatus(0);
+            entity.setApplyId(bo.getMockApplyId());
+            entity.setMockMajorSubjectId(item);
+            entity.setCreateTime(DateUtils.getNowTime());
+            entity.setUpdateTime(DateUtils.getNowTime());
+            entity.setMockRemind(0);
+            entity.setLiveSubscribe(0);
+            entity.setHasLiveSubscribe(0);
+            entity.setHasMockRemind(0);
+            return entity;
+        }).collect(Collectors.toList());
+        return saveBatch(subscribes);
+    }
 }

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

@@ -404,7 +404,7 @@ public class WxPayServiceImpl implements IWxPayService {
                     //给用户增加商品考试次数前培次数
                     updateUserExamGoods(g, order);
                     //商品是否绑定活动模考
-                    iUserMockSubscribeService.addActivityMock(g.getGoodsId(),order.getUserId());
+//                    iUserMockSubscribeService.addActivityMock(g.getGoodsId(),order.getUserId());
                 }
             }
 

+ 3 - 4
zhongzheng-system/src/main/resources/mapper/modules/mock/MockApplyMapper.xml

@@ -105,7 +105,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 cb.business_name,
                 cpt.project_name
         FROM mock_apply ma
-                LEFT JOIN mock_major mj ON ma.apply_id = mj.apply_id
+                <if test="majorId != null and majorId != ''">
+                LEFT JOIN mock_major mj ON ma.apply_id = mj.apply_id AND mj.major_id = #{majorId}
+                </if>
                 LEFT JOIN course_education_type cet ON ma.education_type_id = cet.id
                 LEFT JOIN course_business cb ON ma.business_id = cb.id
                 LEFT JOIN course_project_type cpt ON ma.project_id = cpt.id
@@ -126,9 +128,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="businessId != null and businessId != ''">
             and ma.business_id = #{businessId}
         </if>
-        <if test="majorId != null and majorId != ''">
-            and mj.major_id = #{majorId}
-        </if>
         <if test="searchKey != null and searchKey != ''">
             and (ma.apply_name LIKE CONCAT('%',#{searchKey},'%') OR ma.code LIKE CONCAT('%',#{searchKey},'%'))
         </if>