|
@@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.lang.Validator;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -13,6 +15,7 @@ import com.zhongzheng.common.core.redis.RedisCache;
|
|
|
import com.zhongzheng.common.exception.CustomException;
|
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
|
import com.zhongzheng.common.utils.http.HttpUtils;
|
|
|
+import com.zhongzheng.common.utils.wisdom.SignatureUtil;
|
|
|
import com.zhongzheng.modules.alisms.vo.ResultBean;
|
|
|
import com.zhongzheng.modules.base.service.IProfileTpService;
|
|
|
import com.zhongzheng.modules.base.vo.ProfileTpVo;
|
|
@@ -35,6 +38,7 @@ import com.zhongzheng.modules.exam.domain.ExamNumber;
|
|
|
import com.zhongzheng.modules.exam.mapper.ExamApplyMapper;
|
|
|
import com.zhongzheng.modules.exam.mapper.ExamBeforeMapper;
|
|
|
import com.zhongzheng.modules.exam.mapper.ExamNumberMapper;
|
|
|
+import com.zhongzheng.modules.exam.service.IExamSiteService;
|
|
|
import com.zhongzheng.modules.exam.vo.ExamApplyVo;
|
|
|
import com.zhongzheng.modules.exam.vo.ExamBeforeVo;
|
|
|
import com.zhongzheng.modules.exam.vo.ExamUserApplyVo;
|
|
@@ -82,6 +86,7 @@ import com.zhongzheng.modules.polyv.bo.PolyvLiveQueryBo;
|
|
|
import com.zhongzheng.modules.polyv.domain.PolyvVideo;
|
|
|
import com.zhongzheng.modules.polyv.mapper.PolyvVideoMapper;
|
|
|
import com.zhongzheng.modules.polyv.service.IPolyvLiveService;
|
|
|
+import com.zhongzheng.modules.polyv.vo.PolyvCataData;
|
|
|
import com.zhongzheng.modules.schedule.service.IScheduleService;
|
|
|
import com.zhongzheng.modules.system.service.ISysUserService;
|
|
|
import com.zhongzheng.modules.user.bo.*;
|
|
@@ -91,6 +96,7 @@ import com.zhongzheng.modules.user.mapper.UserStudyRecordMapper;
|
|
|
import com.zhongzheng.modules.user.service.*;
|
|
|
import com.zhongzheng.modules.user.vo.*;
|
|
|
import com.zhongzheng.modules.wisdom.service.IWisdomService;
|
|
|
+import com.zhongzheng.modules.wisdom.vo.WisdomRoomVo;
|
|
|
import com.zhongzheng.modules.wx.service.IWxLoginService;
|
|
|
import net.polyv.live.v1.entity.channel.playback.LiveChannelVideoListResponse;
|
|
|
import net.polyv.live.v1.entity.channel.playback.LiveListChannelVideoLibraryResponse;
|
|
@@ -102,6 +108,7 @@ import org.springframework.util.CollectionUtils;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@@ -127,19 +134,69 @@ public class WisdomServiceImpl implements IWisdomService {
|
|
|
@Autowired
|
|
|
private RedisCache redisCache;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IExamSiteService iExamSiteService;
|
|
|
+
|
|
|
@Override
|
|
|
- public void authorization() {
|
|
|
- String url = host + authorizationUrl;
|
|
|
- System.out.println(url);
|
|
|
- Map<String, String> paramMap = new HashMap<>();
|
|
|
- paramMap.put("mchid",mchid);
|
|
|
- paramMap.put("appid",appid);
|
|
|
- paramMap.put("app_secret",app_secret);
|
|
|
+ public String authorization() {
|
|
|
+ String key = "WISDOM_AUTH_CODE";
|
|
|
+ String auth_code = redisCache.getCacheObject(key);
|
|
|
+ if (Validator.isEmpty(auth_code) || auth_code.equals("null")) {
|
|
|
+ String url = host + authorizationUrl;
|
|
|
+ try{
|
|
|
+ JSONObject obj = new JSONObject();
|
|
|
+ obj.put("mchid", mchid);
|
|
|
+ obj.put("appid", appid);
|
|
|
+ obj.put("app_secret", app_secret);
|
|
|
+ String result = HttpUtils.sendPost(url,obj);
|
|
|
+ JSONObject userInfoJSON = null;
|
|
|
+ userInfoJSON = JSON.parseObject(result);
|
|
|
+ if (userInfoJSON.containsKey("code")&&"200".equals(String.valueOf(userInfoJSON.get("code")))) {
|
|
|
+ auth_code = String.valueOf(userInfoJSON.getJSONObject("result").get("auth_code"));
|
|
|
+ if (Validator.isNotEmpty(auth_code) && !auth_code.equals("null")) {
|
|
|
+ redisCache.setCacheObject(key, auth_code, 7200, TimeUnit.SECONDS);//7200有效期
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ throw new CustomException("获取智慧考场auth_code失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return auth_code;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void SiteList(Integer pageNo) {
|
|
|
+ String auth_code = authorization();
|
|
|
+ Map<String, Object> paramMap = new HashMap<>();
|
|
|
+ paramMap.put("pageNo",pageNo);
|
|
|
+ paramMap.put("pageSize",20);
|
|
|
try{
|
|
|
- String result = HttpUtils.postFormBody(url,paramMap);
|
|
|
- System.out.println(result);
|
|
|
+ String url = host + getRoomListUrl;
|
|
|
+ String signature = SignatureUtil.createSignature(paramMap, appid);
|
|
|
+ JSONObject obj = new JSONObject();
|
|
|
+ obj.put("pageNo",pageNo);
|
|
|
+ obj.put("pageSize",20);
|
|
|
+ Map<String, String> hearders = new HashMap<>();
|
|
|
+ hearders.put("auth_code", auth_code);
|
|
|
+ hearders.put("appid", appid);
|
|
|
+ hearders.put("sign", signature);
|
|
|
+ String result = HttpUtils.sendPostHeader(url,obj,hearders);
|
|
|
+ JSONObject userInfoJSON = null;
|
|
|
+ userInfoJSON = JSON.parseObject(result);
|
|
|
+ if (userInfoJSON.containsKey("code")&&"200".equals(String.valueOf(userInfoJSON.get("code")))) {
|
|
|
+ Integer page = Integer.valueOf(userInfoJSON.getJSONObject("result").get("pages").toString());
|
|
|
+ JSONArray jsonArray = userInfoJSON.getJSONObject("result").getJSONArray("records");
|
|
|
+ List<WisdomRoomVo> list=jsonArray.toJavaList(WisdomRoomVo.class);
|
|
|
+ for (WisdomRoomVo vo : list){
|
|
|
+ iExamSiteService.insertByWisdomAddBo(vo);
|
|
|
+ System.out.println(vo);
|
|
|
+ }
|
|
|
+ if(page>pageNo){
|
|
|
+ SiteList(pageNo++);
|
|
|
+ }
|
|
|
+ }
|
|
|
}catch (Exception e){
|
|
|
-
|
|
|
+ throw new CustomException("获取智慧考场考场列表失败");
|
|
|
}
|
|
|
}
|
|
|
}
|