浏览代码

复购标记

he2802 3 年之前
父节点
当前提交
3ff5f97f79

+ 23 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -16,6 +16,8 @@ import com.zhongzheng.common.utils.AES;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.common.utils.polyv.PolyvUtils;
+import com.zhongzheng.modules.base.domain.UserProfile;
+import com.zhongzheng.modules.base.service.IUserProfileService;
 import com.zhongzheng.modules.course.domain.CourseBusiness;
 import com.zhongzheng.modules.course.vo.CourseChapterVo;
 import com.zhongzheng.modules.goods.service.IGoodsService;
@@ -33,6 +35,7 @@ import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.system.domain.SysTenant;
 import com.zhongzheng.modules.user.bo.SubjectStudyRecordQueryBo;
+import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.domain.UserPlan;
 import com.zhongzheng.modules.user.domain.UserStudyRecordPhoto;
@@ -41,6 +44,7 @@ import com.zhongzheng.modules.user.service.IUserStudyRecordPhotoService;
 import com.zhongzheng.modules.user.service.IUserStudyRecordService;
 import com.zhongzheng.modules.user.vo.SubjectStudyRecordVo;
 import com.zhongzheng.modules.user.vo.UserStudyRecordPhotoVo;
+import com.zhongzheng.modules.user.vo.UserStudyRecordVo;
 import org.apache.commons.codec.binary.Base64;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -105,6 +109,9 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
     @Autowired
     private IClassGradeUserService iClassGradeUserService;
 
+    @Autowired
+    private IUserProfileService iUserProfileService;
+
     @Value("${aliyun.oss.endpoint}")
     private String ALIYUN_OSS_ENDPOINT;
 
@@ -506,6 +513,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                 return "班级有效期已结束";
             }
         }
+
         OrderGoodsQueryBo goodsQueryBo = new OrderGoodsQueryBo();
         goodsQueryBo.setUserId(bo.getUserId());
         goodsQueryBo.setGradeId(userVo.getGradeId());
@@ -513,12 +521,26 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         if(Validator.isEmpty(orderGoods)){
             return "班级商品不存在";
         }
+
+        UserProfile userProfile = iUserProfileService.getOne(new LambdaQueryWrapper<UserProfile>()
+                .eq(UserProfile::getUserId,bo.getUserId()).eq(UserProfile::getGoodsId,orderGoods.getGoodsId())
+                .eq(UserProfile::getCurrentStatus,1).eq(UserProfile::getTypeStatus,1)
+                .last("limit 1"));
+        if(Validator.isNotEmpty(userProfile)&&userProfile.getStatus()!=1){
+            return "资料审核没通过";
+        }
+
+        UserStudyRecordQueryBo studyRecordQueryBo = new UserStudyRecordQueryBo();
+        studyRecordQueryBo.setUserId(bo.getUserId());
+        studyRecordQueryBo.setGradeId(userVo.getGradeId());
+        //第一条学习记录
+        UserStudyRecordVo firstVo = iUserStudyRecordService.queryFirst(studyRecordQueryBo);
         Map<String, String> params =  new HashMap<>();
         params.put("zh",OFFICIALPUSH_INFOACCOUNT);
         params.put("bh",userVo.getOfficialName());
         params.put("xm",userVo.getRealName());
         params.put("sfz",userVo.getIdCard());
-        params.put("ksrq",DateUtils.timestampToDate(orderGoods.getCreateTime()));
+        params.put("ksrq",DateUtils.timestampToDate(firstVo.getFirstStartTime()));
         params.put("jsrq",DateUtils.timestampToDate(userVo.getPeriodTime()));
         String  dataTxt = params.get("zh")+params.get("bh")+params.get("xm")+params.get("sfz")+params.get("ksrq")+params.get("jsrq");
         String encrypted = dataSign(dataTxt,OFFICIALPUSH_TOKEN);

+ 16 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/UserPeriodServiceImpl.java

@@ -179,9 +179,7 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
             userPeriodEditBo.setGoodsId(userPeriodVo.getGoodsId());
             userPeriodEditBo.setGradeId(userPeriodVo.getGradeId());
             userPeriodEditBo.setStatus(bo.getStatus());
-            //发送消息
-            sendPeriodSMS(userPeriodEditBo);
-            sendPeriodSevenSMS(userPeriodEditBo);
+
 
             //修改学员班级审核状态
             LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
@@ -193,12 +191,16 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
             classGradeUser1.setUpdateTime(DateUtils.getNowTime());
             List<ClassGradeUser> list1 = iClassGradeUserService.list(classGradeUser);
             iClassGradeUserService.update(classGradeUser1, classGradeUser);
-            //生成证书
             ClassGradeUserQueryBo classGradeUserQueryBo = new ClassGradeUserQueryBo();
             classGradeUserQueryBo.setUserId(userPeriodVo.getUserId());
             classGradeUserQueryBo.setGradeId(userPeriodVo.getGradeId());
             classGradeUserQueryBo.setGoodsId(userPeriodVo.getGoodsId());
-            iCertificateTpService.makeCertificatePhoto(classGradeUserQueryBo);
+            //处理学时通过事件
+            periodPass(classGradeUserQueryBo);
+            //发送消息
+            sendPeriodSMS(userPeriodEditBo);
+            sendPeriodSevenSMS(userPeriodEditBo);
+
         } else {
             //作弊情况下判断是否已经全部审核完成,完成发送消息
             for (UserPeriod userPeriod : listPeriodVo) {
@@ -281,8 +283,7 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
         classGradeUserQueryBo.setGoodsId(bo.getGoodsId());
         Integer gradePeriodStatus = iClassGradeUserService.updateUserPeriodStatus(classGradeUserQueryBo);
         if(gradePeriodStatus==1){
-            //生成证书
-            iCertificateTpService.makeCertificatePhoto(classGradeUserQueryBo);
+            periodPass(classGradeUserQueryBo);
         }
 
         //发送消息
@@ -291,6 +292,14 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
         return true;
     }
 
+    //学时通过处理事件
+    private void periodPass(ClassGradeUserQueryBo classGradeUserQueryBo){
+        //生成证书
+        iCertificateTpService.makeCertificatePhoto(classGradeUserQueryBo);
+        //官方学时推送
+        iClassGradeUserService.pushOfficialPeriod(classGradeUserQueryBo);
+    }
+
     private void sendPeriodSMS(UserPeriodEditBo bo) {
         GoodsVo goodsVo1 = iGoodsService.queryById(bo.getGoodsId());
         if (bo.getStatus().equals(1)) {

+ 2 - 1
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -209,8 +209,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 LEFT JOIN goods g ON og.goods_id = g.goods_id
                 LEFT JOIN class_grade cg ON og.grade_id = cg.grade_id
                 LEFT JOIN `order` o on og.order_sn = o.order_sn
+                LEFT JOIN class_grade_user cgu ON cgu.grade_id = cg.grade_id and cgu.user_id = #{userId}
         WHERE
-            o.user_id = #{userId} and og.goods_id = #{goodsId} and og.pay_status in (2,3) and  og.order_goods_id !=  #{orderGoodsId}
+            o.user_id = #{userId} and og.goods_id = #{goodsId} and og.pay_status in (2,3) and  og.order_goods_id !=  #{orderGoodsId} and cgu.period_plush = 1
     </select>
 
     <select id="gradeGoods" parameterType="com.zhongzheng.modules.order.bo.OrderGoodsQueryBo" resultMap="OrderGoodsResultVo">