he2802 3 жил өмнө
parent
commit
dca38cb7a9

+ 3 - 3
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserConfirmInfoController.java

@@ -53,7 +53,7 @@ public class UserConfirmInfoController extends BaseController {
     @ApiOperation("获取用户确定课程学习信息详细信息")
     @PreAuthorize("@ss.hasPermi('system:info:query')")
     @GetMapping("/detail")
-    public AjaxResult<UserConfirmInfo> getInfo(UserConfirmInfoQueryBo bo) {
+    public AjaxResult<UserConfirmInfoVo> getInfo(UserConfirmInfoQueryBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
         return AjaxResult.success(iUserConfirmInfoService.queryByBo(bo));
@@ -66,10 +66,10 @@ public class UserConfirmInfoController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:info:add')")
     @Log(title = "用户确定课程学习信息", businessType = BusinessType.INSERT)
     @PostMapping()
-    public AjaxResult<Void> add(@RequestBody UserConfirmInfoAddBo bo) {
+    public AjaxResult<UserConfirmInfoVo> add(@RequestBody UserConfirmInfoAddBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
-        return toAjax(iUserConfirmInfoService.insertByAddBo(bo) ? 1 : 0);
+        return AjaxResult.success(iUserConfirmInfoService.insertByAddBo(bo));
     }
 
 

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

@@ -372,6 +372,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
             goodsUserVo.setOfficialStatus(classGradeVo.getOfficialStatus());
             goodsUserVo.setLearnStatus(classGradeVo.getLearnStatus());
             goodsUserVo.setPeriodPlush(classGradeVo.getPeriodPlush());
+            goodsUserVo.setOfficialName(classGradeVo.getOfficialName());
             Long secLong = 0L;
             Long studyLong = 0L;
             SubjectStudyRecordQueryBo subjectStudyRecordQueryBo = new SubjectStudyRecordQueryBo();

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

@@ -362,4 +362,8 @@ public class GoodsUserVo {
 	@Excel(name = "服务有效期结束")
 	@ApiModelProperty("服务有效期结束")
 	private Long serviceEndTime;
+	/** 官方班级 */
+	@Excel(name = "官方班级")
+	@ApiModelProperty("官方班级")
+	private String officialName;
 }

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

@@ -569,7 +569,11 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
             if (userVo.getClassStartTime().longValue() > nowTime) {
                 return "班级有效期未开始";
             }
-            if (nowTime > userVo.getClassEndTime().longValue()) {
+            if (Validator.isEmpty(userVo.getPeriodWaitTime())) {
+                return "审核状态错误";
+            }
+            //只要待审核时间早于班级结束时间就允许推送
+            if ( userVo.getPeriodWaitTime().longValue()> userVo.getClassEndTime().longValue()) {
                 return "班级有效期已结束";
             }
         }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassGradeUserGoodsVo.java

@@ -96,4 +96,7 @@ public class ClassGradeUserGoodsVo {
 	/** 添加时间 */
 	@ApiModelProperty("添加时间")
 	private Long createTime;
+
+	@ApiModelProperty("订单商品ID")
+	private Long orderGoodsId;
 }

+ 0 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassGradeVo.java

@@ -180,5 +180,4 @@ public class ClassGradeVo {
 	/** 学时已推送人数 */
 	@ApiModelProperty("学时已推送人数")
 	private Integer periodPlushNum;
-
 }

+ 12 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/schedule/service/impl/ScheduleServiceImpl.java

@@ -186,6 +186,8 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
     @Autowired
     private IUserStudyRecordService iUserStudyRecordService;
 
+    @Autowired
+    private IUserConfirmInfoService iUserConfirmInfoService;
 
     @Autowired
     private IUserPlanService userPlanService;
@@ -893,10 +895,16 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
     public void officialInfoPush(UserQueryBo bo) {
         List<ClassGradeUserGoodsVo> list = iClassGradeUserService.selectOfficialNotPush(bo);
         for(ClassGradeUserGoodsVo vo : list){
-            ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo();
-            queryBo.setGradeId(vo.getGradeId());
-            queryBo.setUserId(vo.getUserId());
-            String result = iClassGradeUserService.pushOfficialInfo(queryBo);
+            UserConfirmInfo confirmInfo = iUserConfirmInfoService.getOne(new LambdaQueryWrapper<UserConfirmInfo>()
+                    .eq(UserConfirmInfo::getUserId, vo.getUserId()).eq(UserConfirmInfo::getOrderGoodsId, vo.getOrderGoodsId()
+                    ).last("limit 1"));
+            //有确认信息才允许推送
+            if(Validator.isNotEmpty(confirmInfo)){
+                ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo();
+                queryBo.setGradeId(vo.getGradeId());
+                queryBo.setUserId(vo.getUserId());
+                String result = iClassGradeUserService.pushOfficialInfo(queryBo);
+            }
         }
     }
 

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

@@ -23,7 +23,7 @@ public interface IUserConfirmInfoService extends IService<UserConfirmInfo> {
 	 */
 	UserConfirmInfoVo queryById(Long id);
 
-	UserConfirmInfo queryByBo(UserConfirmInfoQueryBo bo);
+	UserConfirmInfoVo queryByBo(UserConfirmInfoQueryBo bo);
 
 	/**
 	 * 查询列表
@@ -35,7 +35,7 @@ public interface IUserConfirmInfoService extends IService<UserConfirmInfo> {
 	 * @param bo 用户确定课程学习信息新增业务对象
 	 * @return
 	 */
-	Boolean insertByAddBo(UserConfirmInfoAddBo bo);
+	UserConfirmInfoVo insertByAddBo(UserConfirmInfoAddBo bo);
 
 	/**
 	 * 根据编辑业务对象修改用户确定课程学习信息

+ 50 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserConfirmInfoServiceImpl.java

@@ -5,6 +5,11 @@ import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
+import com.zhongzheng.modules.grade.domain.ClassGradeUser;
+import com.zhongzheng.modules.grade.service.IClassGradeUserService;
+import com.zhongzheng.modules.order.service.IOrderGoodsService;
+import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.user.bo.UserConfirmInfoAddBo;
 import com.zhongzheng.modules.user.bo.UserConfirmInfoEditBo;
 import com.zhongzheng.modules.user.bo.UserConfirmInfoQueryBo;
@@ -13,6 +18,7 @@ import com.zhongzheng.modules.user.domain.UserConfirmInfo;
 import com.zhongzheng.modules.user.mapper.UserConfirmInfoMapper;
 import com.zhongzheng.modules.user.service.IUserConfirmInfoService;
 import com.zhongzheng.modules.user.vo.UserConfirmInfoVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -33,6 +39,12 @@ import java.util.stream.Collectors;
 @Service
 public class UserConfirmInfoServiceImpl extends ServiceImpl<UserConfirmInfoMapper, UserConfirmInfo> implements IUserConfirmInfoService {
 
+    @Autowired
+    private IClassGradeUserService iClassGradeUserService;
+
+    @Autowired
+    private IOrderGoodsService iOrderGoodsService;
+
     @Override
     public UserConfirmInfoVo queryById(Long id){
         UserConfirmInfo db = this.baseMapper.selectById(id);
@@ -40,12 +52,27 @@ public class UserConfirmInfoServiceImpl extends ServiceImpl<UserConfirmInfoMappe
     }
 
     @Override
-    public UserConfirmInfo queryByBo(UserConfirmInfoQueryBo bo) {
+    public UserConfirmInfoVo queryByBo(UserConfirmInfoQueryBo bo) {
         UserConfirmInfo info = getOne(new LambdaQueryWrapper<UserConfirmInfo>()
                 .eq(UserConfirmInfo::getUserId, bo.getUserId())
                 .eq(UserConfirmInfo::getOrderGoodsId, bo.getOrderGoodsId())
                 .last("limit 1"));
-        return info;
+        UserConfirmInfoVo db = BeanUtil.toBean(info, UserConfirmInfoVo.class);
+        if(Validator.isNotEmpty(info)){
+            //确认过
+            ClassGradeUser classGradeUser = iClassGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>()
+                    .eq(ClassGradeUser::getChangeGrade, 0)
+                    .eq(ClassGradeUser::getOrderGoodsId, bo.getOrderGoodsId())
+                    .last("limit 1"));
+            if(Validator.isNotEmpty(classGradeUser)&&Validator.isNotEmpty(classGradeUser.getOfficialStatus())&&classGradeUser.getOfficialStatus()==1){
+                db.setPushInfo(1);
+            }else{
+                db.setPushInfo(0);
+            }
+            return db;
+        }else{
+            return null;
+        }
     }
 
     @Override
@@ -78,17 +105,35 @@ public class UserConfirmInfoServiceImpl extends ServiceImpl<UserConfirmInfoMappe
     }
 
     @Override
-    public Boolean insertByAddBo(UserConfirmInfoAddBo bo) {
+    public UserConfirmInfoVo insertByAddBo(UserConfirmInfoAddBo bo) {
         UserConfirmInfo add = BeanUtil.toBean(bo, UserConfirmInfo.class);
         UserConfirmInfoQueryBo queryBo = BeanUtil.toBean(bo, UserConfirmInfoQueryBo.class);
-        UserConfirmInfo info = queryByBo(queryBo);
+        UserConfirmInfoVo info = queryByBo(queryBo);
         if(Validator.isNotEmpty(info)){
             throw new CustomException("你已确认过了");
         }
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
-        return this.save(add);
+        Boolean rs = this.save(add);
+        if(rs){
+            OrderGoodsVo orderGoodsVo = iOrderGoodsService.queryById(bo.getOrderGoodsId());
+            //推送信息
+            ClassGradeUserQueryBo userQueryBo = new ClassGradeUserQueryBo();
+            userQueryBo.setUserId(bo.getUserId());
+            userQueryBo.setGradeId(orderGoodsVo.getGradeId());
+            String push_rs = iClassGradeUserService.pushOfficialInfo(userQueryBo);
+            UserConfirmInfoVo db = BeanUtil.toBean(add, UserConfirmInfoVo.class);
+            if(Validator.isEmpty(push_rs)){
+                //推送成功
+                db.setPushInfo(1);
+            }else{
+                db.setPushInfo(0);
+                db.setPushMsg(push_rs);
+            }
+            return db;
+        }
+        return null;
     }
 
     @Override

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserConfirmInfoVo.java

@@ -4,6 +4,7 @@ import com.zhongzheng.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
 import lombok.Data;
 import java.util.Date;
 
@@ -36,4 +37,8 @@ public class UserConfirmInfoVo {
 	@Excel(name = "确认JSON信息")
 	@ApiModelProperty("确认JSON信息")
 	private String infoJson;
+	@ApiModelProperty("是否推送信息 0没有 1已推送")
+	private Integer pushInfo;
+	@ApiModelProperty("推送返回的信息")
+	private String pushMsg;
 }

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

@@ -573,11 +573,11 @@ public class WxPayServiceImpl implements IWxPayService {
             studyCountLog.setCreateTime(DateUtils.getNowTime());
             studyCountLog.setUpdateTime(DateUtils.getNowTime());
             iStudyCountLogService.save(studyCountLog);
-            //官方信息推送
-            ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo();
+            //官方信息推送,改为确认信息推送
+          /*  ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo();
             queryBo.setUserId(classGradeUserTemp.getUserId());
             queryBo.setGradeId(classGradeUserTemp.getGradeId());
-            iClassGradeUserService.pushOfficialInfo(queryBo);
+            iClassGradeUserService.pushOfficialInfo(queryBo);*/
 
         }
         return true;

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

@@ -235,6 +235,7 @@
         <result property="officialStatus" column="official_status"/>
         <result property="periodPlush" column="period_plush"/>
         <result property="orderGoodsId" column="order_goods_id"/>
+        <result property="officialName" column="official_name"/>
     </resultMap>
 
 
@@ -610,7 +611,8 @@
             cg.interface_push_id,
             cgu.official_status,
             cgu.period_plush,
-            cgu.order_goods_id
+            cgu.order_goods_id,
+            cg.official_name
         FROM
             class_grade_user cgu
                 LEFT JOIN class_grade cg on cgu.grade_id = cg.grade_id

+ 2 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -81,6 +81,7 @@
         <result property="goodsId" column="goods_id"/>
         <result property="classStartTime" column="class_start_time"/>
         <result property="classEndTime" column="class_end_time"/>
+        <result property="orderGoodsId" column="order_goods_id"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo" id="ClassPeriodStudentVo">
@@ -1156,6 +1157,7 @@
                 LEFT JOIN class_grade_user gu ON g.grade_id = gu.grade_id
         WHERE
             g.interface_push_id > 0
+          AND g.official_name IS NOT NULL
           AND g.`status` = 1
           AND gu.`status` = 1
           AND gu.change_grade = 0