he2802 3 лет назад
Родитель
Сommit
ed3d132184

+ 67 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserSubscribeController.java

@@ -0,0 +1,67 @@
+package com.zhongzheng.controller.user;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Validator;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.framework.web.service.WxTokenService;
+import com.zhongzheng.modules.exam.bo.ExamApplyGoodsQueryBo;
+import com.zhongzheng.modules.exam.service.IExamApplyGoodsService;
+import com.zhongzheng.modules.exam.vo.ExamApplyGoodsVo;
+import com.zhongzheng.modules.user.bo.*;
+import com.zhongzheng.modules.user.entity.ClientLoginUser;
+import com.zhongzheng.modules.user.service.IUserExamGoodsService;
+import com.zhongzheng.modules.user.service.IUserSubscribeService;
+import com.zhongzheng.modules.user.vo.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 用户预约考试Controller
+ *
+ * @author ruoyi
+ * @date 2021-12-07
+ */
+@Api(value = "报考数据控制器", tags = {"报考数据控制器"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/user/subscribe")
+public class UserSubscribeController extends BaseController {
+
+    private final IUserSubscribeService iUserSubscribeService;
+
+    private final WxTokenService wxTokenService;
+
+    /**
+     * 查询用户预约考试列表
+     */
+    @ApiOperation("查询最近的考试时间")
+    @PreAuthorize("@ss.hasPermi('system:subscribe:list')")
+    @GetMapping("/recentExam")
+    public AjaxResult<UserSubscribeVo> listSubscribe(UserSubscribeQueryBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        UserSubscribeVo userExamGoodsVo = iUserSubscribeService.getRecentExam(bo);
+        return AjaxResult.success(userExamGoodsVo);
+    }
+
+
+}

+ 16 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/alioss/service/impl/OssServiceImpl.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.alioss.service.impl;
 
+import cn.hutool.core.lang.Validator;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 
@@ -183,6 +184,20 @@ public class OssServiceImpl implements OssService {
 
     @Override
     public String uploadInputStream(InputStream inputStream, Integer imageStatus) throws Exception {
+        try{
+            for(int i=0;i<3;i++){         // 失败重试3次数
+                String path = uploadInputStreamImg(inputStream,imageStatus);
+                if(Validator.isNotEmpty(path)){
+                    return path;
+                }
+            }
+            return null;
+        }catch(Exception e) {
+            return null;
+        }
+    }
+
+    private String uploadInputStreamImg(InputStream inputStream, Integer imageStatus) throws Exception {
         try{
             OssRequest ossRequest = new OssRequest();
             ossRequest.setImageStatus(7);
@@ -200,8 +215,7 @@ public class OssServiceImpl implements OssService {
             //ossClient.shutdown();
             return fileName;
         }catch(Exception e) {
-            e.printStackTrace();
-            throw new IllegalStateException("上传失败");
+            return null;
         }
     }
 

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

@@ -697,8 +697,8 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                 }
             }
 
-            //更新班级学时状态
-            if(!gradePeriodStatus.equals(classPeriodStudentVo.getPeriodStatus())){
+            //更新班级学时状态l
+            /*if(!gradePeriodStatus.equals(classPeriodStudentVo.getPeriodStatus())){
                 LambdaQueryWrapper<ClassGradeUser> classGradeUser = Wrappers.lambdaQuery();
                 classGradeUser.eq(ClassGradeUser::getUserId, classPeriodStudentVo.getUserId());
                 classGradeUser.eq(ClassGradeUser::getGradeId, classPeriodStudentVo.getGradeId());
@@ -709,7 +709,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                 }
                 classGradeUser1.setUpdateTime(DateUtils.getNowTime());
                 iClassGradeUserService.update(classGradeUser1, classGradeUser);
-            }
+            }*/
            /* if (classPeriodStudentVo.getStuAllNum().equals(classPeriodStudentVo.getSecAllNum()) && classPeriodStudentVo.getExamNum().equals(classPeriodStudentVo.getRecordNum())){
                 if (classPeriodUserVos.getPending() != 0 || classPeriodUserVos.getExamPending() != 0){
                     classPeriodStudentVo.setAllStatus(0);

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserSubscribeMapper.java

@@ -35,4 +35,6 @@ public interface UserSubscribeMapper extends BaseMapper<UserSubscribe> {
     Long sendExamSucceed(Long goodsId);
 
     List<UserSubscribeVo> listSubscribeByUser(UserSubscribeQueryBo bo);
+
+    UserSubscribeVo getRecentExam(UserSubscribeQueryBo bo);
 }

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

@@ -36,6 +36,8 @@ public interface IUserSubscribeService extends IService<UserSubscribe> {
 	 */
 	Long insertByAddBo(UserSubscribeAddBo bo) throws ParseException;
 
+	UserSubscribeVo getRecentExam(UserSubscribeQueryBo bo);
+
 	/**
 	 * 根据编辑业务对象修改用户预约考试
 	 * @param bo 用户预约考试编辑业务对象

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

@@ -188,6 +188,11 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
         return add.getSubscribeId();
     }
 
+    @Override
+    public UserSubscribeVo getRecentExam(UserSubscribeQueryBo bo) {
+        return this.baseMapper.getRecentExam(bo);
+    }
+
     private void sendExamSucceed(UserSubscribeAddBo bo) {
         InformRemindVo informRemindVo = informRemindService.queryById(15L);
         //查找商品是否在此短信业务层次

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

@@ -322,9 +322,6 @@
         <if test="classEndTime != null and classEndTime != '' ">
             AND #{classEndTime} >  cg.class_end_time
         </if>
-        <if test="periodStatus == 2 ">
-            order by cgu.period_wait_time,cgu.update_time desc
-        </if>
         <if test="studyStatus != null and studyStatus == 1 ">
             and cgu.period_status = -1
         </if>
@@ -334,6 +331,9 @@
         <if test="periodStatus != 2 ">
             order by cgu.update_time desc
         </if>
+        <if test="periodStatus == 2 ">
+            order by cgu.period_wait_time,cgu.create_time
+        </if>
     </select>
 
     <select id="getUserPeriodStatus" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"

+ 12 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml

@@ -241,4 +241,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             and (u.realname like concat('%', #{searchKey}, '%') or u.id_card like concat('%', #{searchKey}, '%'))
         </if>
     </select>
+
+    <select id="getRecentExam" parameterType="com.zhongzheng.modules.user.bo.UserSubscribeQueryBo" resultMap="UserSubscribeVo">
+        SELECT
+        us.*
+        FROM
+        user_subscribe us
+        WHERE
+        1 =1
+          AND us.user_id = #{userId}
+          AND LEFT(us.apply_site_start_time,2)*3600+us.apply_site_exam_time >  unix_timestamp(now())
+        ORDER by us.apply_site_exam_time  limit 1
+    </select>
 </mapper>